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

我在这里做错了什么?

Web中defaultRedirect的问题.配置& lt; customErrors>

将aspx页面作为自定义错误重定向的目标的一个问题是,错误不是特定于页面的(例如global.asax;处理web.config的错误也会被目标页面抛出,这可能导致无限重定向循环。

因此,最好将静态html页面至少作为defaultRedirect的目标。

尝试在重定向URL中加入~。

重定向= " ~/ErrorPages/404. aspx"

错误页面内容有多少字节,它是否设置了一个HTTP状态码而不是200 OK?在IE浏览器默认设置为"显示友好的HTTP错误信息"的情况下,长度在512字节以下的自定义错误页面将被IE浏览器抑制,并被"友好的"错误信息所取代。

看看这是否是你的问题,你可以尝试关闭"显示友好的HTTP错误信息"选项下的工具,互联网选项,高级,设置。它将在设置区域的浏览类别下。

如果页面显示该选项已关闭,请尝试将其重新打开并更改页面以添加图像或其他元素,使其长度超过512字节