|   
 
 | 
| 在Apache2版之后的GZIP一般用mod_deflate代替,因为mod_deflate拥有同样甚至更强大的功能。下面就是开启GZIP的方法: 
 1、打开这三个模块
 LoadModule headers_module modules/mod_headers.so
 LoadModule deflate_module modules/mod_deflate.so
 LoadModule filter_module modules/mod_filter.so(如果不开启mod_filter,apache 2.4及以上版本会无法启动)
 
 2、在httpd.conf末尾加上如下配置:
 3、重启apache,查看phpinfo()函数下的HTTP_ACCEPT_ENCODING的值复制代码# 文件压缩,优化速度
<IfModule mod_deflate.c>
     # 压缩模式,默认过滤器deflate
     SetOutputFilter DEFLATE
     # Netscape 4.x 的问题,仅压缩html
     BrowserMatch ^Mozilla/4 gzip-only-text/html
     # Netscape 4.06-4.08 有更多问题,不压缩
     BrowserMatch ^Mozilla/4\.0[678] no-gzip
     # MSIE 会伪装成 Netscape,但是事实上它没有问题
     BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
     # 我们不压缩images,因为这种开销是浪费的
     SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
     # 压缩等级: 1(最低)- 9(最高)
     #DeflateCompressionLevel 6
     # 以下数据类型将被压缩
     AddOutputFilterByType DEFLATE text/plain
     AddOutputFilterByType DEFLATE text/html
     AddOutputFilterByType DEFLATE text/xml
     AddOutputFilterByType DEFLATE text/css
     AddOutputFilterByType DEFLATE application/xhtml+xml
     AddOutputFilterByType DEFLATE application/xml
     AddOutputFilterByType DEFLATE application/rss+xml
     AddOutputFilterByType DEFLATE application/atom_xml
     AddOutputFilterByType DEFLATE application/x-javascript
     AddOutputFilterByType DEFLATE application/x-httpd-php
     # 确保不会发送相同内容到所有agent
     <IfModule mod_headers.c>
          Header append Vary User-Agent env=!dont-vary
     </IfModule>
</IfModule>
 如果包含gzip,deflate就是正常开启状态。
 接下来你的程序就可以使用GZIP了。
 
 您可以通过如下在线工具测试网页是否压缩:
 http://tool.chinaz.com/Gzips/
 http://www.gidnetwork.com/tools/gzip-test.php
 
 可以用火狐的firebug插件很明显的到效果。
 
 要特别说明一下,很多人开启后找不到HTTP_ACCEPT_ENCODING,却找到HTTP_BCCEPT_ENCODING,这就说明服务器被防火墙屏蔽了。至于为什么要屏蔽,那就不是技术人员的问题了。(有默认设置一说,也有监管一说)
 
 解决办法:找机房管理员放行。
 
 我的服务器所在机房采用的云盾防火墙,可以让管理员给放行。
 | 
 |