7

我已成功添加自定义 404 页面。我想要做的是创建另一个自定义错误页面,当出现 404 以外的任何错误时显示。例如 500、403 等。

这就是我现在在 webconfig 中所拥有的

<httpErrors errorMode="Custom" existingResponse="Replace">
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" path="/404.aspx" responseMode="ExecuteURL"/>
    </httpErrors>
4

2 回答 2

13

天啊。我不敢相信我找不到这个简单问题的正确答案!尽管如此,在阅读文档和调试 2 小时后,我找到了它。

<httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="ExecuteURL" defaultPath="/App/Error"> <!-- Do not include ~, this was my issue all long -->
  <clear/> <!-- so that IIS provided error pages are skipped -->
  <!-- add those which you like to provide a view of yours -->
  <error path="/App/Http404" responseMode="ExecuteURL" statusCode="404"/>
  <error path="/App/Http503" responseMode="ExecuteURL" statusCode="503"/>
</httpErrors>

请注意<httpErrors>配置 IIS,同时<customErrors>配置 ASP.NET 和一些旧版本的 IIS (<=6?)。

于 2014-11-06T10:29:02.117 回答
-1

您可以在 webconfig 中使用 customErrors :

<customErrors mode="On" defaultRedirect="~/DefaultError.aspx?msg=SomeMessage">
  <error statusCode="404" redirect="~/PageNotFound.html"/>
  <error statusCode="403" redirect="~/AccessDenied.html"/>
</customErrors>
于 2013-03-27T08:56:57.203 回答