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错误的主要内容,如果未能解决你的问题,请参考以下文章
IIS7在设置Response.StatusCode时覆盖customErrors?