如何重定向所有错误,包括 404

本文关键字:包括 有错误 重定向 | 更新日期: 2023-09-27 18:36:19

我希望所有错误都转到同一个错误页面。 我最初确实尝试了带有状态代码的错误标签。 这工作正常,但我宁愿不必指定任何状态代码,并且仍然将每个错误都转到一个页面。 问题是,如果我删除状态代码条目,404 将转到服务器的 404 页面,而不是我的错误页面。

有没有办法将所有错误配置为转到同一页面?

如何重定向所有错误,包括 404

您应该更改 web.config 并添加 customErrors 元素。然后,您可以将默认重定向设置为签名页面

例如

<customErrors mode="On" defaultRedirect="Error.aspx">
</customErrors>

您可以参考 MSDN 文章http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx

在 IIS7 上,可以使用新的 httpErrors 部分

<system.webServer>
    <httpErrors defaultPath="Error.aspx" defaultResponseMode="Redirect">
    </httpErrors>
</system.webServer>

欲了解更多信息http://www.iis.net/ConfigReference/system.webServer/httpErrors

如果我理解得很好,您需要将所有错误发送到自定义错误页面,以及iis7给出的错误(不仅是您的程序)

这是您需要在II7上设置的东西,但您也可以从web.config进行设置(但实际上向ii7提供说明)这是一个示例

<configuration>
   <system.webServer>
      <httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File" >
         <remove statusCode="500" />
         <error statusCode="500"
            prefixLanguageFilePath="C:'Contoso'Content'errors"
            path="500.htm" />
       </httpErrors>
   </system.webServer>
</configuration>

参考: http://www.iis.net/ConfigReference/system.webServer/httpErrors