apache mod_deflate 无法与 IE 7 兼容

apache mod_deflate 无法与 IE 7 兼容

我已经设置了 apache2 来提供 gzip 文件

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript application/json
   BrowserMatch ^Mozilla/4 gzip-only-text/html
   BrowserMatch ^Mozilla/4.0[678] no-gzip
   BrowserMatch bMSIE !no-gzip !gzip-only-text/html
   DeflateCompressionLevel 9
   SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

当我在 safari 或 chrome 上测试文件,或者使用 curl(curl --header 'accept-encoding: gzip' url)时,它运行良好,但它在 IE7 上似乎不起作用。

我测试过http://www.webpagetest.org/

难道我做错了什么 ?

谢谢

答案1

这可能是问题所在。您明确告诉它不要对 MSIE (Microsoft Internet Explorer) 浏览器进行 gzip 压缩。

“浏览器匹配 bMSIE !no-gzip !gzip-only-text/html”

看起来您正在使用默认规则。MSIE 5.5 和 6 存在 gzip 问题,解决方法是在向这些浏览器提供服务时不压缩内容。

下面的链接应该可以帮助您更好地理解它。

http://sebduggan.com/posts/ie6-gzip-bug-solved-using-isapi-rewrite

答案2

你可以很容易地修复这个问题,让它匹配 7 以下的所有内容;将你的匹配替换为:

BrowserMatch \bMSIE\s7  !no-gzip !gzip-only-text/html

这将使其在 IE7 及以上版本中保持启用状态。

相关内容