我想我已经找到了IIS错误页面系统有关的错误。
注: - 我不使用.NET错误页 - 此设置为关闭
问题:
当一个自定义错误页是设置为500.100(经典ASP)响应代码,IIS始终发送,即使errorMode设定为详细自定义错误页。 让IIS发送错误的唯一方法就是明确地消除在web.config中的条目。
例如:
<remove statusCode="500" subStatusCode="100"/>
or
<clear/>
注-以下不工作(这对于所有其他代码的工作):
<remove statusCode="500" subStatusCode="-1"/>
我的情况:
- IIS 8(我不知道,如果在旧版本的IIS存在问题)
- 网站运行.NET 2.0 - 经典管道
- 功能委派上设置为只读错误页面
- 在IIS错误页面设置如下(由于该特征代表团,这些项目都没有在web.config中):
- 404 - /path/to/404.htm - ExecuteURL
- 500 - /path/to/500.htm - ExecuteURL
- 500.100 - /path/to/500.htm - ExecuteUrl
关闭自定义错误:
为了关闭自定义错误,我需要做的是:
- IIS负荷
- 加载
Error Pages
- 点击
Edit Feature Settings
- 选择
Detailed Errors
这成功地适用于除了传统的ASP 500错误的所有代码(状态码500.100)。
我能得到适当的经典ASP错误的唯一方法是设置以下的(要求我改变功能委派为读/写):
<system.webServer>
<httpErrors errorMode="Detailed">
<clear/>
OR
<remove statusCode="500" subStatusCode="100"/>
</httpErrors>
</system.webServer>
摘要
看来,如果一个500.100自定义错误页的设置,然后设置的详细错误为true经典ASP 500错误, 无法正常工作。
这是一个错误还是我失去了一些东西?