我使用 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 的目标。

关于c# - Web.Config <customErrors> 中 defaultRedirect 的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7269103/

10-11 06:51