4

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

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

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

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

ModuleName:IIS Web 核心
通知:16
HttpStatus:404 HttpReason:未找到
HttpSubStatus:0错误代码
:2147942402 ConfigExceptionInfo:通知:MAP_REQUEST_HANDLER 错误代码:系统找不到指定的文件。(0x80070002)

但是考虑到配置的自定义错误页面:

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

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

4

2 回答 2

3

只需将 httpErrors 节点的 errorMode 属性从详细更改为自定义。

从:

<httpErrors errorMode="Detailed">

至:

<httpErrors errorMode="Custom">
于 2012-05-04T12:13:53.270 回答
1

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

<httpErrors existingResponse="PassThrough" />

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

于 2012-05-01T19:26:08.150 回答