我在IIS中定义了自定义错误页面(例如http状态代码500),如果我从控制器返回状态代码500,它们正在工作。但是,如果应用程序中存在未处理的异常,则iis会显示状态代码为500的标准黄页。因此,我希望IIS显示我的自定义错误页面,但它没有发生。
有没有办法强制IIS在异常时显示自定义错误页面?
答案 0 :(得分:0)
您应该将其添加到web.config
到<system.web>
部分:
<customErrors mode="On" defaultRedirect="~/path/to/error">
<error statusCode="413" redirect="~/path/to/error" />
...
...
</customErrors>
我的建议是仅针对生产环境执行此操作,因为“黄页”在开发模式下非常有用,可以识别错误(例如,您只能将其添加到web.release.config中)。
答案 1 :(得分:0)
在<system.webServer>
内添加
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" subStatusCode="-1" prefixLanguageFilePath="" path="/somePage.html" responseMode="Redirect" />
</httpErrors>