IIS显示标准黄页而不是自定义错误页面定义

时间:2016-03-18 12:47:09

标签: c# asp.net asp.net-mvc asp.net-mvc-5

我在IIS中定义了自定义错误页面(例如http状态代码500),如果我从控制器返回状态代码500,它们正在工作。但是,如果应用程序中存在未处理的异常,则iis会显示状态代码为500的标准黄页。因此,我希望IIS显示我的自定义错误页面,但它没有发生。

有没有办法强制IIS在异常时显示自定义错误页面?

2 个答案:

答案 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>