如何阻止 IIS 7.5 将其自己的重定向 HTML 添加到 PHP 发布的 HTML 中?

如何阻止 IIS 7.5 将其自己的重定向 HTML 添加到 PHP 发布的 HTML 中?

我有一台 IIS 7.5 服务器,配置了 PHP 5.4.5,通过 FastCgi 运行。如果客户端支持,PHP 将返回 gzip 编码的数据。

我的问题是,当我从 PHP 发出 303 See Other 标头时,IIS 会在 gzip 编码数据之前粘贴一些 HTML。对于大多数浏览器来说,这不是问题,它们只是遵循标头,但我的客户报告说重定向无法通过他们的 Cisco Scansafe 代理进行,我想这可能是原因。

以下是使用 Wireshark 捕获的数据包数据:

GET / HTTP/1.1
Host: [OMITTED]
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Cookie: PHPSESSID=[OMITTED]

HTTP/1.1 303 See Other
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Location: http://[OMITTED]/reports/
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Fri, 10 Oct 2014 08:15:16 GMT
Content-Length: 246

<head><title>Document Moved</title></head>
<body><h1>Object Moved</h1>This document may be found <a HREF="http://[OMITTED]/reports/">here</a></body>......4....I..(.M.U.OF-.O..K./J-./S.+.(0U.s.....+S..O............5,...

gzip 编码的字节会自行解码并具有 PHP 输出的内容,但是使用 IIS HTML 时,整个 HTTP 数据包无法正确解码,这可能会导致 Scansafe 拒绝它。

我怎样才能告诉 IIS 停止这样做?

相关内容