在我的 web.config
文件我指定了一些自定义错误:
<customErrors mode="RemoteOnly" defaultRedirect="~/Error">
<error statusCode="500" redirect="~/Error" />
<error statusCode="404" redirect="~/NotFound" />
</customErrors>
现在,一些链接,例如
http://mysite.com/dsflhsdff
将被正确重定向到 mysite.com/notfound
.但是有些链接,比如 https://mysite.com/videoconference/0/0/0
由服务器本身处理 - 而不是我的自定义错误页面,我收到 IIS 错误页面(找不到文件或目录)。在示例中,此链接 - https://scyk.pl/forums/0/0/0
将产生正确的 404 错误(我的自定义错误页面)。这里发生了什么?我是否需要手动设置 IIS 自定义错误?如果是这样,我该怎么做?
最佳答案
这是因为 ASP.NET 甚至从来不知道有对 .htm 页面的请求。 IIS 将自行处理 .htm 页面,而根本不涉及 ASP.NET。
您可以通过以下两种方式之一显示自定义页面:
获取 ASP.NET 处理 .htm 页面:在 IIS 中右键单击您的网站/虚拟目录 --> 属性 --> 主目录/虚拟目录选项卡 -->“应用程序设置”部分下的“配置”按钮 --> 添加映射。
为 IIS 设置自定义错误页面:在 IIS 中右键单击您的网站/虚拟目录 --> 属性 --> 自定义错误选项卡 --> 将 404 错误设置为您的错误页面。
关于asp.net - web.config 文件中的自定义错误页面未涵盖所有 url 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16391505/