2010-02-19 60 views
1

我已經實現了我自己的IRouteHandler URL路由。
對於文件沒有擴展它會嘗試加載的文件名是從頁目錄頁有:需要URL路由,重寫路徑,但保持MIME類型

return (IHttpHandler) BuildManager.CreateInstanceFromVirtualPath(path, typeof(Page)); 

但是也有圖像和CSS文件(相對路徑)被翻譯成正確的網址。我嘗試將這些文件與服務:

try { 
    HttpContext.Current.Server.Transfer(fileName); 
} catch (HttpException) { 
    throw new HttpException(404, "file not found"); 
} 

這工作正常(在Internet Explorer),火狐卻是給我的錯誤:

Styles.css was not loaded because its MIME type, "text/html", is not "text/css".

是這個引起的Server.Transfer?
我應該使用什麼來重定向文件? Response.Redirect對客戶端可見。

+0

你不能使用Response.Redirect嗎? – AxelEckenberger 2010-02-19 13:50:20

+0

Response.Redirect是發送給客戶端的響應頭,用於指示瀏覽器轉到新的位置。我想保持重定向100%的服務器端。 – Zyphrax 2010-02-19 13:59:31

+0

如果直接從「正確」URL(手動)加載CSS文件,會發生什麼情況? – Pointy 2010-02-19 14:25:29

回答