Asp.net mvc MVC中404和500 http状态码的IIS重写处理

Asp.net mvc MVC中404和500 http状态码的IIS重写处理,asp.net-mvc,error-handling,iis-7.5,Asp.net Mvc,Error Handling,Iis 7.5,我正在使用MVC4和IIS7.5。我试图用自己的控制器和视图处理404500和其他代码 然而,无论我尝试什么,IIS都会覆盖我的设置/代码,并注入自己的404(等等)错误页面。这在使用IIS Express的开发人员计算机上以及使用IIS 7.5的生产环境中本地发生 以下是我迄今为止尝试过的所有方法的组合: 使用web.config中的标记并重定向到我的自定义错误视图,运气不好 在Global.asax中提供了自定义错误处理。它到达那里(尝试了404和500),它确实调用了我的自定义控制器和视图

我正在使用MVC4和IIS7.5。我试图用自己的控制器和视图处理404500和其他代码

然而,无论我尝试什么,IIS都会覆盖我的设置/代码,并注入自己的404(等等)错误页面。这在使用IIS Express的开发人员计算机上以及使用IIS 7.5的生产环境中本地发生

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

  • 使用web.config中的标记并重定向到我的自定义错误视图,运气不好
  • 在Global.asax中提供了自定义错误处理。它到达那里(尝试了404和500),它确实调用了我的自定义控制器和视图,但最后,IIS仍然获胜并显示其页面而不是我的视图
  • 顺便说一下,我正在尝试使用无扩展url以及.html页面。我怎样才能让IIS不去管它,让MVC处理这些错误呢


    目前我没有选择。请提供任何建议。

    您需要覆盖IIS处理错误状态代码的方式。只需修改web.config中的
    部分即可

    <httpErrors existingResponse="PassThrough" />
    
    
    

    可以在IIS.NET网站上找到完整信息:

    您需要覆盖IIS处理错误状态代码的方式。只需修改web.config中的
    部分即可完成此操作

    <httpErrors existingResponse="PassThrough" />
    
    
    

    完整信息可在IIS.NET网站上找到:

    哇,太棒了!这样做了。我不知道那个设置是什么。非常感谢,现在效果很好。我是通过同样的痛苦找到的:)哇,太棒了!这样做了。我不知道那个设置是什么。非常感谢,现在效果很好。我是通过同样的痛苦找到的:)