WordPress兼容IE6完美打开gzip

9月14日 · 2012年

WordPress现在默认是不开启Gzip压缩的,但是Gzip开启以后会将输出到用户浏览器的数据进行压缩处理,这样就会减小通过网络传输的数据量,提高浏览的速度。但是Gzip会消耗主机资源,如果你用的是免费主机或者是性能不佳的主机,那么最好就不要开启了,不然可能开启以后会更慢。

IE6真是万恶啊,在gzip的支持上必须不完美。在万戈的博客上看到了一篇终极gzip兼容IE6的文章,特转了过来,备着以后使用。方法虽然麻烦了些,但是经过亲自试用,真的可以提高速度,减少加载数据量。

        1、下载gzip.zip,解压后上传至网站根目录。

        2、修改根目录的.htaccess,增加gz的识别支持及网址改写:

 

#识别gz文件
<Files *.js.gz>
AddEncoding gzip .js
ForceType application/x-javascript
</Files>
<Files *.css.gz>
AddEncoding gzip .css
ForceType text/css
</Files>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

#wordpress静态网址,如果没有使用,就略过
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

#读到css和js档,就重置至gzip.php
RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]

#读到.css,判断如果浏览器支持gzip且.css.gz档案存在,就进行重置

RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*).css $1.css.gz [L,QSA]

#读到.js,判断如果浏览器支持gzip且.js.gz档存在,就进行重置
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*).js $1.js.gz [L,QSA]
</IfModule>

        3、浏览自己的网站,让CSS和JS产生gz档,并将相应的.gz文件权限设置为777,这一步非常累人……

因为gz档案分散在各个文件夹里,找起来并不是很容易的事情。所以可以利用7zip压缩软件,把wordpres程序里的js、css每个都用gzip压缩格式压缩,然后分别传到各个文件夹里。

        4、最后,再次改写.htaccess,把以下代码注释掉或删除。

RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]

至此完毕。此Gzip方法是至今我最满意的,效果最显著的,强烈推荐。不过在修改CSS和JS后,还要还原那句代码并重做第3、4步。所以该方法稍有些复杂,比较适合像我一样喜欢折腾Wordpress的童鞋们。

0 条回应
验证码
输入运算符及数字使等式成立
{{comment.validate_num1}} = {{comment.validate_num2}}
点赞确定
退出登录?
取消 确定