所以,我正在研究的网站是使用urlrewriting与aspnet_isapi.dll协调(一切都映射到它)。我提出了我的app_offline.htm文件,然后显示了所有文本,但是没有提供CSS或图像。由于通配符映射而不是IIS,我猜他们正在处理它们。它是否正确?如果是这样,我如何允许IIS提供这些文件?此外,我可以看到在web.config中出现的重写器设置问题:
<rewrite url="^~/images/network/(.*)/(.*).jpg$" to="~/services/ImageHandler.ashx?type=$1&id=$2"/>
<rewrite url="^~/image/view/(.*).jpg$" to="~/ServePRView.aspx?id=$1"/>
<rewrite url="^~/asset/view/(.*).jpg$" to="~/services/ImageHandler.ashx?id=$1&type=asset"/>
感谢大家的帮助, -Steve
答案 0 :(得分:19)
这是因为如果网络服务器看到App_Offline.htm文件,它会为网站中的每个请求提供该文件 - 甚至是图像。您必须从其他网站提供图像。或者您可以尝试这样的http://en.wikipedia.org/wiki/Data_URI_scheme
答案 1 :(得分:1)
@JeremyWeir是对的。 IIS停止在app_offline.htm的前提下提供子资源。解决此问题的方法是使用以下内容直接在页面中嵌入内容:
1)Encode Images inside Html 2)Internal Style Sheets 3)你的javascript相同
这不是最容易维护的,但它可以让您控制页面上显示的内容的外观。