Web中defaultRedirect的问题.配置& lt; customErrors>
本文关键字:lt customErrors 配置 defaultRedirect 问题 Web | 更新日期: 2023-09-27 18:07:28
我使用Asp.net 4。
这是我的Web.Config
文件的设置。
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="/ErrorPages/Oops.aspx">
<error statusCode="404" redirect="/ErrorPages/404.aspx" />
</customErrors>
我需要为任何例外应用defaultRedirect
url,并使用redirectMode="ResponseRewrite"
仅为Page Not Found 404。
有了这个设置,我可以正确地管理页面未找到(我能够得到404。aspx页),但如果在任何其他页面上出现异常,我得到"Internet Explorer cannot display the webpage"
,我无法到达defaultRedirect Oops.aspx
。
我在这里做错了什么?
将aspx页面作为自定义错误重定向的目标的一个问题是,错误不是特定于页面的(例如global.asax;处理web.config的错误也会被目标页面抛出,这可能导致无限重定向循环。
因此,最好将静态html页面至少作为defaultRedirect的目标。
尝试在重定向URL中加入~。
重定向= " ~/ErrorPages/404. aspx"
错误页面内容有多少字节,它是否设置了一个HTTP状态码而不是200 OK?在IE浏览器默认设置为"显示友好的HTTP错误信息"的情况下,长度在512字节以下的自定义错误页面将被IE浏览器抑制,并被"友好的"错误信息所取代。
看看这是否是你的问题,你可以尝试关闭"显示友好的HTTP错误信息"选项下的工具,互联网选项,高级,设置。它将在设置区域的浏览类别下。
如果页面显示该选项已关闭,请尝试将其重新打开并更改页面以添加图像或其他元素,使其长度超过512字节