closuresIIS7 HTTPerror handling?

我刚刚在我的第一台Windows Server 2008 / IIS7.5服务器上安装了一个参与的比赛。我不能为了我的生活弄清楚如何完全closureserror handling 。 我看到的唯一select是:

  • 习惯
  • 详细
  • 详细的本地,自定义为远程

我想彻底closures这个function,而且我也没有办法做到这一点。 我错过了什么吗?

我的情况:

我有一个RESTful PHP框架捕获exception,并发出HTTP 500状态,如果exception尚未处理。 然后将指定的exception消息放入响应主体并发送给浏览器。 这在Apache中正常工作 – 正确的标题被发送,消息显示给用户。 然而,在IIS中,对于4xx和5xx HTTP状态码的响应总是被拦截并注入其他一些准备好的消息或HTML文件,这正是我不想再做的事情。 请帮忙!

经过一些更广泛的搜索,我在这里找到答案:

http://blogs.msdn.com/webdevelopertips/archive/2009/08/24/tip-93-did-you-know-php-and-custom-error-pages-configuration.aspx

解决方法是使用此自定义“httpErrors”条目手动编辑您的web.config文件:

<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webserver> <httpErrors existingResponse="PassThrough" /> </system.webserver> </configuration> 

但是,由于IIS 7.0“锁定”功能,您可能会收到“此配置节不能在此路径使用,这发生在部分锁定在父级别。 错误。 要解决该问题,请在命令提示符下执行以下命令:

 cd C:\Windows\System32\inetsrv appcmd unlock config /section:httpErrors 

在IIS管理器 – >站点 – >错误页面中,右键单击每个错误页面并选择“删除”。

不幸的是,没有办法告诉IIS不要干涉脚本,所以这总是一个恼人的部署问题。