IIS httpErrors ExecuteURL追加奇怪的查询string像500; http://mysite.com/failed-page到目标URL

我注意到IIS错误页面中的怪异行为。 我有这个设置:

<httpErrors errorMode="Custom" existingResponse="Replace"> <remove statusCode="500" /> <error statusCode="500" responseMode="ExecuteURL" path="/error-page" /> </httpErrors> 

有时当由于查询string太长而发生ASP.NET错误时,立即尝试执行错误页面URL时发生第二个错误。 我跟踪到这个问题,IIS将原始url附加到错误页面url,如下所示:

 Original: http://example.com/someurl?id=some_very_long_query_string_causing_security_exception Error: /error-page?500;http://example.com/someurl?id=some_very_long_query_string_causing_security_exception 

这是一个巨大的问题。 如果原始url因查询string太长而失败,那么带有附加内容的错误页面也会失败,因为它有一个更长的查询string!

我相信这是IIS中最愚蠢的错误。 有没有人知道是否有一些补丁的补丁包? 最坏的情况下,如果现在没有什么是固定的,有没有办法来禁止这种行为或任何技巧来阻止IIS主动的东西附加到错误页面? 因为它打破了整个自定义错误页面机制。