| 
 
     
 
  | 
在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末尾加上如下配置:- # 文件压缩,优化速度
 
 - <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>
 
  复制代码 3、重启apache,查看phpinfo()函数下的HTTP_ACCEPT_ENCODING的值 
 
如果包含gzip,deflate就是正常开启状态。 
接下来你的程序就可以使用GZIP了。 
 
您可以通过如下在线工具测试网页是否压缩: 
http://tool.chinaz.com/Gzips/ 
http://www.gidnetwork.com/tools/gzip-test.php 
 
可以用火狐的firebug插件很明显的到效果。 
 
要特别说明一下,很多人开启后找不到HTTP_ACCEPT_ENCODING,却找到HTTP_BCCEPT_ENCODING,这就说明服务器被防火墙屏蔽了。至于为什么要屏蔽,那就不是技术人员的问题了。(有默认设置一说,也有监管一说) 
 
解决办法:找机房管理员放行。 
 
我的服务器所在机房采用的云盾防火墙,可以让管理员给放行。 |   
 
 
 
 |