我开发了一个MVC5页面并在web.config中有这个:
<customErrors mode="On" defaultRedirect="/Home/Error" />
问题是这只有在我输入网址中的非现有文件时才有效,例如, "/images/nonexisting"
。但是,当我在URL中输入"/images/"
时(此文件夹确实存在),
显示&#34;错误HTTP 403.14 - 禁止&#34;
而不是自定义错误页面。
我该如何解决这个问题?
编辑:这不重复。参考页面是关于defaultRedirect完全没有考虑到的。在我的情况下,它可以工作但只有404错误。对于403.14错误,它不起作用。
另一个事实引起了我的注意。
当我在customErrors标记中放置mode = Off,并尝试加载&#34; / images / nonexisting&#34;时,我收到此错误:
但是,当我尝试加载/ images /时,我得到了以下页面:
如您所见,两个页面都有不同的外观。我认为这就是为什么它不起作用,但我不知道如何解决它。
.NET Framework似乎捕获了404错误,但是实际上没有到达网站的Web服务器捕获了403错误(这可能就是未显示自定义错误页面的原因)。唯一的解决方案应该是尝试直接在Web服务器中配置它吗?
此外,我尝试将此添加到web.config,但它也不起作用:
<customErrors mode="On" defaultRedirect="~/Home/Error">
<error statusCode="403" redirect="~/Home/Error" />
</customErrors>