WordPress 2.5 以后就关闭了 GZip 功能。可以使用以下几种方法中适合自己的方法开启:
方法1:
在根目录 index.php 中找到:
define(’WP_USE_THEMES’, true);
在后面加上:
ob_start(’ob_gzhandler’);
就OK了。也可以加一点条件判断:
if(ereg(’gzip’,$_SERVER[‘HTTP_ACCEPT_ENCODING’])){ //判断浏览器是否支持Gizp
if(substr($_SERVER[‘REQUEST_URI’],0,10)!=’/wp-content/uploads/’) //排除不需要Gzip压缩的目录
ob_start(’ob_gzhandler’); //打开Gzip压缩
}
方法2:
如果服务器支持.htaccess文件,那么在wordpress根目录的.htaccess增加以下代码,如果没有.htaccess则新建后增加代码。增加完成后上传到wordpress根目录后即可。
php_value output_handler ob_gzhandler
方法3:
通过php.ini 启用Gzip, 添加如下代码来开启gzip。
output_buffering = Off
output_handler =
zlib.output_compression = On
zlib.output_compression_level = 6zlib.output_compression_level = < 任何1—9的值,1的压缩比率最低, 建议取 6>
需要注意的是如果在.htaccess文件中禁止了gzip功能的话,那在php.ini文件中开启后需在.htaccess文件中开启,否则无效。
开启wordpress的gzip功能后,服务器将在页面传输前将页面压缩后传送,可以有效减少服务器的带宽使用,也可以加速页面下载。
在这个网站可以查看页面是否启用 GZip,以及启用后页面的压缩率。
我用的GoDaddy的虚拟主机,能够自己重定义 php.ini,如果是PHP5就修改php5.ini~ 用 http://www.gidnetwork.com/tools/gzip-test.php 查看一下 ~压缩了72.8% ~ 速度也提升了~
注意:这样就可以给所有php文件进行gzip压缩了。注意的是,这样启用gzip之后需要将程序原来的gzip功能去掉,例如discuz等的gzip不要启用,否则程序会报错。