【问题标题】:IIS overriding handling of 404 and 500 http status codes in MVCIIS 覆盖 MVC 中 404 和 500 http 状态码的处理
【发布时间】:2014-02-21 06:47:03
【问题描述】:

我将 MVC 4 与 IIS 7.5 一起使用。我正在尝试使用我自己的控制器和视图来处理 404、500 和其他代码。

但是,无论我尝试什么,IIS 都会覆盖我的设置/代码并注入它自己的 404(等等)错误页面。这发生在使用 IIS Express 的开发机器以及使用 IIS 7.5 的生产机器上。

这是迄今为止我尝试过的所有方法的组合:

  1. web.config 中使用的标签重定向到我的自定义错误视图,没有运气。
  2. 在 Global.asax 中提供了自定义错误处理。它到达那里(尝试了 404 和 500),它确实调用了我的自定义控制器和视图,但最后,IIS 仍然获胜并显示其页面而不是我的视图。

顺便说一句,我正在尝试这将是无扩展名的 url 以及 .html 页面。如何让 IIS 不理会它并允许 MVC 处理这些错误。

我现在没有选择。任何建议都将不胜感激。

【问题讨论】:

    标签: asp.net-mvc error-handling iis-7.5


    【解决方案1】:

    您需要覆盖 IIS 处理错误状态代码的方式。这可以通过简单地修改 web.config 中的 <system.webServer> 部分来完成。

    <httpErrors existingResponse="PassThrough" />
    

    完整信息可在 IIS.NET 网站上找到:http://www.iis.net/configreference/system.webserver/httperrors

    【讨论】:

    • 哇,太好了!做到了。我不知道那个设置是什么。非常感谢,现在很好用。
    • 我通过同样的痛苦找到了它:)
    猜你喜欢
    • 2017-05-29
    • 1970-01-01
    • 2011-12-21
    • 2021-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多