在IIS7中,我已经配置了自定义错误页面(reportError.asp)来处理500状态代码,响应操作被设置为“执行URL”。此页面(reportError.asp)通过调用COM库来报告asp错误的详细信息,该库依次检索asp最后一个错误对象(以及其他类似请求、响应、会话),并生成全面的错误报告。在IIS6中工作正常。
在IIS7中生成的报告包含与reportError.asp页面相关的详细信息,而不是发生错误的原始页面,即PATH_TRANSLATED服务器变量包含reportError.asp文件的路径,而不是原始文件的路径,错误号和描述为空。看起来IIS7使用了不同的方法将控制传递给自定义错误页面。
我注意到,在生成的报告中,查询字符串变量包含以下值:500;这里是原始页面的完整网址,这让我认为IIS7进行了一些内部重定向到自定义错误页面,并将原始页面作为查询字符串进行引用,而在IIS6中,它是以不同的方式处理的。
有没有人知道与II6相比,IIS7在这方面的行为发生了什么变化?
发布于 2011-12-22 20:20:28
ASP应用程序的自定义错误处理页必须设置为500.100状态代码。当仅为500状态代码设置时,页面将被执行,但ASP错误的上下文不可用。
https://stackoverflow.com/questions/8579682
复制相似问题