逐梦论坛's Archiver

shillan 发表于 2015-8-13 23:42

xampp开启gzip的方法

在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[color=Red](如果不开启mod_filter,apache 2.4及以上版本会无法启动)[/color]

2、在httpd.conf末尾加上如下配置:[code]# 文件压缩,优化速度
<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>[/code]3、重启apache,查看phpinfo()函数下的HTTP_ACCEPT_ENCODING的值

如果包含gzip,deflate就是正常开启状态。
接下来你的程序就可以使用GZIP了。

您可以通过如下在线工具测试网页是否压缩:
[url]http://tool.chinaz.com/Gzips/[/url]
[url]http://www.gidnetwork.com/tools/gzip-test.php[/url]

可以用火狐的firebug插件很明显的到效果。

要特别说明一下,很多人开启后找不到HTTP_ACCEPT_ENCODING,却找到HTTP_BCCEPT_ENCODING,这就说明服务器被防火墙屏蔽了。至于为什么要屏蔽,那就不是技术人员的问题了。(有默认设置一说,也有监管一说)

解决办法:找机房管理员放行。

我的服务器所在机房采用的云盾防火墙,可以让管理员给放行。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.