我使用的是Asp.net 4.
此处设置我的Web.Config文件。
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="/ErrorPages/Oops.aspx">
<error statusCode="404" redirect="/ErrorPages/404.aspx" />
</customErrors>
我需要将 defaultRedirect网址应用于任何例外,并仅将redirectMode="ResponseRewrite"
用于 Page Not Found 404 。
此时此设置我可以正确管理未找到的页面(我能够获取404.aspx页面),但如果在任何其他页面上出现异常,我会得到"Internet Explorer cannot display the webpage"
和我我无法访问defaultRedirect Oops.aspx
。
我在这做错了什么?感谢
答案 0 :(得分:2)
将aspx页面作为自定义错误重定向的目标的一个问题是,目标还会抛出非特定于页面的错误(例如global.asax中的错误;处理web.config的错误)页面,这可能导致无限重定向循环。
因此,将静态html页面作为至少defaultRedirect的目标通常会更好。
答案 1 :(得分:1)
尝试将〜放在重定向网址中。
重定向= “〜/ ErrorPages / 404.aspx”
答案 2 :(得分:1)
错误页面内容有多少字节,是否设置了200以外的HTTP状态代码?在Internet Explorer中显示“显示友好HTTP错误消息”(默认情况下),IE浏览器将禁止内容长度小于512字节的自定义错误页面,并替换为“友好”错误消息。
要查看这是否是您的问题,您可以尝试关闭“工具”,“Internet选项”,“高级”,“设置”下的“显示友好HTTP错误消息”选项。它将位于“设置”区域中的“浏览”类别下。
如果页面显示关闭选项,请尝试重新打开并更改页面以添加图像或其他元素,使其大小超过512字节。