在我的应用程序中,我有一个用于捕获所有意外错误的自定义错误,以及当用户尝试转到不存在的页面时的404。问题是,在生产中我可以通过在浏览器窗口中键入url的路径或者滥用应用程序成功导航到错误页面,但我不能对404执行相同的操作。这是我的设置。{{3} }
答案 0 :(得分:1)
Error/NotFound
将起作用而不是~/Error/NotFound
,并且应启用自定义错误(取决于您发出请求的位置):
<customErrors mode="On" defaultRedirect="Error">
<error statusCode="404" redirect="Error/NotFound" />
</customErrors>
并设置httpErrors
:
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="PassThrough">
<clear />
<error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" />
</httpErrors>
</system.webServer>
请注意clear
将删除所有错误的静态文件。因此,请考虑解锁defaultPath
的{{1}}集。