App_offline.htm、CSS、图片和aspnet_isapi.dll相关的问题

12

我正在开发的网站在与 aspnet_isapi.dll 结合使用 url 重写。我已经放置了 app_offline.htm 文件,文本内容已经展示出来了,但是 CSS 或图片无法被访问。我猜测这是由于通配符映射将它们交给 ASP.NET 处理而不是 IIS。如果是这样的话,应该如何让 IIS 来处理这些文件呢?此外,在重定向设置的 web.config 中可能会出现问题:

<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"/>

感谢大家的帮助, -Steve


1
哎呀,这正是我遇到的问题...还没有答案 :( - Miles
2个回答

19

这是因为如果Web服务器看到一个名为App_Offline.htm的文件,它会为站点中的每个请求提供该文件 - 即使是图片。您必须从另一个站点提供图片。或者您可以尝试使用类似于这样的方法http://en.wikipedia.org/wiki/Data_URI_scheme


1

@JeremyWeir是正确的。在存在app_offline.htm时,IIS停止提供子资源。解决方法是通过以下方式直接嵌入页面内容:

1) 在Html中编码图像 2) 内部样式表 3) 对于您的JavaScript也是如此

这不是最容易维护的方法,但它确实可以控制页面上显示的内容外观。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接