Board logo

标题: [Discuz!相关] xampp开启gzip的方法 [打印本页]

作者: 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(如果不开启mod_filter,apache 2.4及以上版本会无法启动)

2、在httpd.conf末尾加上如下配置:
  1. # 文件压缩,优化速度
  2. <IfModule mod_deflate.c>
  3.      # 压缩模式,默认过滤器deflate
  4.      SetOutputFilter DEFLATE

  5.      # Netscape 4.x 的问题,仅压缩html
  6.      BrowserMatch ^Mozilla/4 gzip-only-text/html

  7.      # Netscape 4.06-4.08 有更多问题,不压缩
  8.      BrowserMatch ^Mozilla/4\.0[678] no-gzip

  9.      # MSIE 会伪装成 Netscape,但是事实上它没有问题
  10.      BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

  11.      # 我们不压缩images,因为这种开销是浪费的
  12.      SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

  13.      # 压缩等级: 1(最低)- 9(最高)
  14.      #DeflateCompressionLevel 6

  15.      # 以下数据类型将被压缩
  16.      AddOutputFilterByType DEFLATE text/plain
  17.      AddOutputFilterByType DEFLATE text/html
  18.      AddOutputFilterByType DEFLATE text/xml
  19.      AddOutputFilterByType DEFLATE text/css
  20.      AddOutputFilterByType DEFLATE application/xhtml+xml
  21.      AddOutputFilterByType DEFLATE application/xml
  22.      AddOutputFilterByType DEFLATE application/rss+xml
  23.      AddOutputFilterByType DEFLATE application/atom_xml
  24.      AddOutputFilterByType DEFLATE application/x-javascript
  25.      AddOutputFilterByType DEFLATE application/x-httpd-php

  26.      # 确保不会发送相同内容到所有agent
  27.      <IfModule mod_headers.c>
  28.           Header append Vary User-Agent env=!dont-vary
  29.      </IfModule>
  30. </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,这就说明服务器被防火墙屏蔽了。至于为什么要屏蔽,那就不是技术人员的问题了。(有默认设置一说,也有监管一说)

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

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




欢迎光临 逐梦论坛 (http://temp2023.zhumeng.org/) Powered by Discuz! 7.2