我们设置了一个自定义的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>
我们确实有*的处理程序映射,但不包含。。这可能是问题的原因吗? 什么是正确的配置?
答案 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/