GZIP的作用总所周知,很多网站都使用了它,它能将我们的网页内容压缩体积后再传给用户。比如不开启GZIP压缩网页提升速度,下面的某些方法在其他非WordPress网站也是同样可以实现的;实现网页Gzip压缩可通过多种方法实现,如服务器上设置、安装WordPress插件、代码方式等等都是可以实现的,下面我们就简单的说明一下WordPress开启GZIP压缩网页的几种方法:
Nginx开启Gzip的方法
我们先来看看Nginx开启Gzip的方法,首先宝塔“性能调整”发现宝塔默认已经开启的GZIP压缩,在这里我们可以简单的调整一下参数:
打开Nginx配置可以查看对应的参数:
Apache开启Gzip的方法
首先确保你的 Apache 已经加载了 mod_deflate 模块,然后在 httpd.conf 代码中加载以下代码:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/json application/x-httpd-php application/x-javascript
</IfModule>
注意:如果你没有权限修改你的主机,你也可以将以上代码复制到网站根目录的 .htaccess 文件
functions.php开启Gzip的方法
“functions.php”作为WordPress的公共函数文件,我们也可以通过每个主题文件夹下的“functions.php”文件来实现开启Gzip的方法,我们只需要在“functions.php”添加如下代码即可:
//WordPress站点加速之开启Gzip压缩
add_action('init', 'wpjam_gzip_compression');
function wpjam_gzip_compression(){
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
ob_start('ob_gzhandler');
}else{
ob_start();
}
}
如使用此方法可查看更多细节:
[ri-post id=”22793″ thumb=”left”]
WordPress插件开启Gzip的方法
支持GZIP网页压缩的插件有很多,这里我们就简单的举几个例子说一下,具体哪一个好用还是自己测试,支持的插件有:WP Performance 插件、WP Super Cache 插件,大家可以在WordPress插件里搜索安装
PHP开启Gzip的方法
1.除了上面的一下方法我们还可以通过修改 PHP 的 “php.ini”来实现,打开 PHP 目录下的 php.ini 文件,找到
zlib.output_compression = Off
改成
zlib.output_compression = On
再把下面代码的前面的分号“;”删掉
;zlib.output_compression_level
再把后面的 -1 改成 1 – 9 的值,数字越大压缩比率最低,建议取5,这样便可以实现所有 PHP 页面的GZIP效果也不会导致网页特效失效。
2.如果无法修改 php.ini 文件,我们还可以在需要压缩的PHP网页文件头部头部加入下面的代码:
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
ob_start('ob_gzhandler');
}else{
ob_start();
}
index开启Gzip的方法
通过修改 WordPress 根目录下的“index.php”文件开启Gzip压缩,这是最愚蠢的办法,但是不推荐因为WordPress经常更新,更新后就失效了,如果需要这种方法,我们就打开WordPress网站根目录下的index.php文件,搜索
define(’WP_USE_THEMES’, true);
然后在后面加上:
//WordPress站点加速之开启Gzip压缩
ob_start(‘ob_gzhandler’)
htaccess开启Gzip压缩
编辑站点根目录 .htaccess 文件,在最后面加上一下三种代码中的任意一种:
代码1
php_value output_handler ob_gzhandler
代码2
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
</IfModule>
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
</IfModule>
代码3
php_flag zlib.output_compression On
php_value zlib.output_compression_level 6