我已将以下内容添加到配置文件中。

<system.webServer>
  ...
  <httpErrors errorMode="Custom"
              existingResponse="Replace"
              defaultResponseMode="ExecuteURL">
    <clear/>
    <error statusCode="404"
           responseMode="ExecuteURL"
           path="http://google.se" />
  </httpErrors>
</system.webServer>

但是,似乎我仍然得到带有黄色背景和堆栈跟踪的默认页面。我已经尝试在 system.web 中注释掉错误处理过滤器和添加/删除自定义错误。 (我正在尝试 this great article 中建议的 httpErrors 方法。)

我错过了什么?我还能做些什么来解决它?

最佳答案

您可以像这样在 ASP.NET 级别执行此操作:

<system.web>
    ...
    <customErrors mode="On">
        <error statusCode="404" redirect="http://www.google.se"/>
    </customErrors>
</system.web>

如果你真的想在 IIS 级别添加它,你可以喜欢:

<system.webServer>
    <httpErrors errorMode="Custom" existingResponse="Replace">
        <remove statusCode="404"/>
        <error statusCode="404" path="http://www.google.fr" responseMode="Redirect"/>
    </httpErrors>
</system.webServer>

当您想重定向到绝对 URL 时,您必须将“responseMode”属性设置为“Redirect”,“ExecuteURL”用于动态提供的内容,来自 MSDN

关于c# - 无法使 httpErrors 工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36486099/

10-13 06:12