为了这Gzip我可没有少费功夫啊,之前我已经写过三篇文章《开启GZIP,提速Wordpress》、《给Wordpress开启Gzip功能》、《完美启用Gzip压缩JS、CSS》,三篇文章三个方法,各有特色,一直以来我是将这三个Gzip结合使用的,但是始终没有达到我期望的最佳效果,因为启用后就不得不放弃IE6的用户。这一bug让我在使用Gzip时很尴尬,之后我也试过给浏览器设置白名单,希望IE6跳过Gzip,最后以失败告终。不过今天终于让我找到一个可以兼顾IE6的开启Gzip的方法,让我的Wordpress载入速度又上了一个台阶。特地将此方法转载来和大家分享,因为原文是繁体,我就简化了一下:
1、下载gzip.zip,解压后上传至网站根目录。
2、修改根目录的.htaccess,增加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。
4、最后,再次改写.htaccess,把以下代码注释掉或删除。
完毕。此Gzip方法是至今我最满意的,效果最显著的,强烈推荐。不过在修改CSS和JS后,还要还原那句代码并重做第3、4步。所以该方法稍有些复杂,比较适合像我一样喜欢折腾Wordpress的童鞋们。
-
汇总 IE 在 CSS 中常见的 中 bug2010年01月29日 -
拿起武器,将 IE6 收归帐下2009年09月1日 -
合并JS文件两步走2009年06月13日 -
完美启用Gzip压缩JS、CSS2009年06月8日