asp.net - web.config 文件中的自定义错误页面未涵盖所有 url 路径

标签 asp.net asp.net-mvc iis web-config

在我的 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/

相关文章:

c# - 如何模拟 Url.Action

c# - 如何最多显示两位数但可以显示更少?

asp.net-mvc - Orchard CMS 中的 SignalR 聊天模块

c# - 使用 filterContext.Result 时如何重定向到 Action?

powershell - 通过 PowerShell 向 applicationHost.config 添加 <location/> 元素

entity-framework - 部署到 IIS 时连接字符串格式错误

asp.net - 从 Team City 运行更新数据库

c# - 如何在从数据库绑定(bind)的复选框列表中查找选定的项目

javascript - 如何阻止外部点击关闭 tinybox?

javascript - 单击时更改行颜色 - ASP.NET 和 JavaScript