为什么我的404重定向在我的web.config中不起作用?

时间:2017-04-17 18:30:43

标签: c# asp.net-mvc custom-errors

在我的应用程序中,我有一个用于捕获所有意外错误的自定义错误,以及当用户尝试转到不存在的页面时的404。问题是,在生产中我可以通过在浏览器窗口中键入url的路径或者滥用应用程序成功导航到错误页面,但我不能对404执行相同的操作。这是我的设置。{{3} }

1 个答案:

答案 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}}集。