这里有一个奇怪的问题。大家都知道,如果您使用web.config的customErrors
部分来创建自定义错误页面,那么您应该将Response.StatusCode
设置为任何适当的值。例如,如果我创建了一个自定义404页面并将其命名为404.aspx,我可以在内容中放置<% Response.StatusCode = 404 %>
以使其具有真实的404状态标题。IIS7在设置Response.StatusCode时覆盖customErrors?
到目前为止关注我?好。现在尝试在IIS7上执行此操作。我无法让它工作,这段时间。如果在自定义错误页面中设置了Response.StatusCode
,则IIS7似乎完全覆盖自定义错误页面,并显示其自己的状态页面(如果您已配置了一个)。
有没有其他人看到过这种行为,也许知道如何解决它?它在IIS6下工作,所以我不知道为什么事情会改变。
注:这是不一样的问题ASP.NET Custom 404 Returning 200 OK Instead of 404 Not Found
我有同样的问题。已经在这里回答[http://stackoverflow.com/questions/347281/asp-net-custom-404-returning-200-ok-instead-of-404-not-found](http://stackoverflow.com/questions/347281/ASP净定制-404-返回-200-OK-代替-的-404未找到)。 – 2009-01-12 02:54:37
鲍比,我实际上发现了这个问题并试了一下,但没有解决问题。但是,谢谢。 – 2009-01-12 03:37:40
我想评论说,从Classic切换到Integrated Pipeine时也会发生此问题。我用@PavelChuchuva解决方案(@RickStrahl解决方案也可以)。我猜Classic中的“passthrough”是自动的,在Integrated中需要服务器的全局错误页面处理。 – sonjz 2015-01-16 02:02:32