即使使用自定义404错误页面,也会获得未知文件扩展名的默认404错误页面

时间:2012-05-01 19:23:50

标签: iis-7.5

我们设置了一个自定义的404错误页面,以便显示一个“好”的页面。页面而不是默认的IIS页面。

尝试访问具有已知文件扩展名的非现有页面(例如http://mydomain/dumb.aspx)时,会显示自定义404页面。

尝试访问具有未知文件扩展名的文件(例如http://mydomain/index.dumb)时,会显示默认的404错误页面。

让我感到困惑的是IIS Web核心正在处理错误:

  

ModuleName:IIS Web Core
  通知:16
  HttpStatus:404   HttpReason:未找到
  HttpSubStatus:0
  ErrorCode:2147942402   ConfigExceptionInfo:   通知:MAP_REQUEST_HANDLER   ErrorCode:系统找不到指定的文件。 (0x80070002)

但是注意到已配置的自定义错误页面:

 <httpErrors errorMode="Detailed">
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" prefixLanguageFilePath="" path="/httpError" responseMode="ExecuteURL" />
</httpErrors>

我们确实有*的处理程序映射,但不包含。这可能是问题的原因吗? 什么是正确的配置?

2 个答案:

答案 0 :(得分:3)

只需将httpErrors节点的errorMode属性从Detailed更改为Custom。

自:

<httpErrors errorMode="Detailed">

为:

<httpErrors errorMode="Custom">

答案 1 :(得分:1)

我在博客上写到这一点。您可能没有正确设置web.config。阅读我的帖子,了解如何做到这一点。您需要在system.webserver节点中使用它。

<httpErrors existingResponse="PassThrough" />

http://blog.aquabirdconsulting.com/2012/04/19/setting-up-asp-net-mvc-error-pages/