启用Gzip压缩

1、请确认你的空间支持Gzip。(一般都支持)
2、打开Wordpress的Gzip功能,其实在Wordpress2.5以前默认是启用的,不过为什么这版本以后会关掉。不管它,我们把它打开。

打开你Wordpress根目录下的index.php(切记是根目录下的,不是theme目录),然后在

define(‘WP_USE_THEMES’, true);

后面加上

if(ereg(‘gzip’,$_SERVER[‘HTTP_ACCEPT_ENCODING’])){
if(substr($_SERVER[‘REQUEST_URI’],0,10)!=’/wp-content/uploads/’)//排除不需要Gzip压缩的目录,图片一般不推荐启用Gzip压缩
ob_start(‘ob_gzhandler’);
}

到这里你已经开启了Gzip功能,不过为了保险起见,还是检测去一下吧:http://tool.chinaz.com/Gzips/
通过这一步骤,网站的性能已经提高了一个档次,不过对于CSS和JS,默认是不进行压缩的,下一步我们就让它也对JS和CSS进行压缩
3、让JS和CSS支持Gzip压缩

搜索了一下,有很多方法可以实现,但都有一个严重的BUG,该死的IE6对Gzip的支持不是很好,如果对CSS、JS进行Gzip压缩,会使部分JS失效或者CSS无法加载,Dream试了下,只要一启用Gzip,Wordpress就处于裸奔状态,CSS完全失效,而且还一大堆JS错误。既然IE6不支持,那我们就绕过它(惹不起我还躲不起吗?)经过一下午的折腾,终于搞定了这问题。
1)在你网站的根目录下新建立一文件夹wp-cache,用来存放Gzip文件,请确保该文件夹权限为可读写。

2)在你网站的根目录下新建一名字为gzip.php的文件,代码如下。


3)在你网站的根目录下的.htaccess中添加以下代码,如果.htaccess不存在则新建一个。

RewriteCond %{HTTP:User-Agent} !MSIE\ [5-6]
RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]

这段代码的意思是判断当前浏览器是否为IE5-6(虽然现在很少人用IE5,不过为保险起见还是加上吧),如果不是则对CSS/JS启用Gzip压缩。
至此,任务已完成。不出意外的话,经过这么一番折腾,你的Wordpress性能应该能提升2个档次。什么,你知道用什么来测试,Firefox插件YSlow。

文章来源: http://www.boxui.com/?p=1420

6 Comments
Leave a Reply

Time limit is exhausted. Please reload the CAPTCHA.