IIS Web.Config自定义404错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS Web.Config自定义404错误相关的知识,希望对你有一定的参考价值。

我差点把头发撕掉,看起来很容易。

希望实现一个自定义404错误页面,这里是我的代码 - 看似简单,但它只是不起作用 - 任何想法。

在任何人降价之前,我已经尝试了几乎所有的线程,但同样的事情发生,或实际上没有。

<httpErrors errorMode="Custom">
<remove statusCode="404" />
<error statusCode="404" path="/errors/e404.asp" responseMode="ExecuteURL" />
</httpErrors>

没有此代码,我收到标准的Windows错误消息。

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, 
or is temporarily unavailable.

使用此代码,我得到一个不同的错误 - 但不是我的自定义页面。所以有些事情正在发生,而不是我想要的。任何想法或指针将非常感激。

This localhost page can’t be found No web page was found for the web address: https://localhost
答案

这里的问题几乎可以肯定,因为你使用了“ExecuteURL”并且根本找不到它。我能够通过使用IIS Express和Visual Studio 2017重现您所遇到的问题。要解决从Sysinternals(https://docs.microsoft.com/en-us/sysinternals/downloads/procmon)运行ProcMon并搜索您要搜索的文件(Test123)以及您期望的错误文件( e404.asp)。

重要的是要注意(正如其他人所说的)当使用ExecuteURL时,它必须是站点的相对路径,而不是App或VDir。 VS&IISExpress在幕后处理大部分细节,因此更难以确定Site / App / VDir /等级。

以上是关于IIS Web.Config自定义404错误的主要内容,如果未能解决你的问题,请参考以下文章

自定义404页面重定向,但不显示自定义页面

IIS配置404页面配置,IIS自定义404页面

IIS7在设置Response.StatusCode时覆盖customErrors?

本地自定义了404 和500 错误处理 部署到IIS上显示 服务器内部错误

URL 中的 ASP.NET aspxerrorpath

用于 IIS 7 的自定义 HttpModule 用于集成