0

在 IIS7 中,我配置了自定义错误页面 (reportError.asp) 来处理 500 状态代码,响应操作设置为“执行 URL”。此页面 (reportError.asp) 通过调用 COM 库报告 asp 错误的详细信息,该库反过来检索 asp 最后一个错误对象(以及其他类似请求、响应、会话)并生成全面的错误报告。在 IIS6 中一切正常。

在 IIS7 中生成的报告包含与 reportError.asp 页面相关的详细信息,而不是发生错误的原始页面,即 PATH_TRANSLATED 服务器变量包含到 reportError.asp 文件的路径而不是原始文件,错误编号和描述为空白。看起来 IIS7 使用不同的方法将控制权传递给自定义错误页面。

我在生成的报告中注意到查询字符串变量包含以下值:500;[这里是原始页面的完整 URL],这让我认为 IIS7 对自定义错误页面进行了一些内部重定向并将原始页面作为查询字符串传递给参考,而在 IIS6 中它以不同的方式处理。

与 II6 相比,有谁知道 IIS7 的这一领域的行为变化?

4

1 回答 1

0

ASP 应用程序的自定义错误处理页面必须设置为 500.100 状态代码。当仅设置为 500 状态代码时,页面将被执行,但 ASP 错误的上下文不可用。

于 2011-12-22T12:20:28.117 回答