标题:
[
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末尾加上如下配置:
# 文件压缩,优化速度
<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,这就说明服务器被防火墙屏蔽了。至于为什么要屏蔽,那就不是技术人员的问题了。(有默认设置一说,也有监管一说)
解决办法:找机房管理员放行。
我的服务器所在机房采用的云盾防火墙,可以让管理员给放行。
欢迎光临 逐梦论坛 (http://temp2023.zhumeng.org/)
Powered by Discuz! 7.2