2009-10-21 28 views
11

所以,我的工作與ASPNET_ISAPI.DLL協調使用URL重寫(一切都被映射到它)的網站。我放了我的app_offline.htm文件,並且所有的文本顯示,但是,CSS或圖像不被服務。我猜他們正在處理的ASP.NET由於通配符映射,而不是IIS。它是否正確?如果是這樣,我怎麼能讓IIS提供這些文件?此外,一個問題,我可以看到arising..in在web.config的重寫設置:App_offline.htm,CSS,圖像和ASPNET_ISAPI.DLL

<rewrite url="^~/images/network/(.*)/(.*).jpg$" to="~/services/ImageHandler.ashx?type=$1&amp;id=$2"/> 
    <rewrite url="^~/image/view/(.*).jpg$" to="~/ServePRView.aspx?id=$1"/> 
    <rewrite url="^~/asset/view/(.*).jpg$" to="~/services/ImageHandler.ashx?id=$1&amp;type=asset"/> 

感謝您的幫助所有, 史蒂夫

+1

man ...這是我遇到的確切問題...並且還沒有答案:( – Miles 2009-11-17 14:17:52

回答

17

它,如果Web服務器看到一個App_Offline.htm因爲文件,它會爲該網站中的每個請求提供該文件 - 即使是圖像。你必須從另一個網站提供圖片。或者你可以嘗試這樣的事情http://en.wikipedia.org/wiki/Data_URI_scheme

0

@JeremyWeir是正確的。 IIS停止直接使用app_offline.htm的prescense解決的辦法是嵌入到頁面內容服務子資源:

1)Encode Images inside Html 2)Internal Style Sheets 3)同樣爲你的JavaScript

這不是最容易維護的,但它確實可以讓您控制頁面上顯示的內容的外觀。