在Google Page Speed检测中提示博客未开启Gzip压缩功能.
开始找完美开启Gzip压缩的方法.
收集的4个完美开启网站Gzip压缩的方法如下:
方法1.使用Wordpress插件Gzippy
WordPress插件Gzippy,很方便的开启Gzip压缩功能,安装之后启用即可,无需设置,很方便.
下载地址:http://wordpress.org/extend/plugins/gzippy/
方法2.使用自定义的php.ini和.htaccess文件
a. 新建一个文本文件,重命名为 php.ini ,输入以下内容,保存并上传至网站根目录即可。
1 output_buffering = Off
2 output_handler =
3 zlib.output_compression = On
4 zlib.output_compression_level = 6
b.网站根目录下的.htaccess文件内加入以下代码(独占一行):
1 addhandler x-httpd-php5-cgi .php .html .htm .js
方法3.修改代码压缩CSS和JS文件
a.压缩CSS文件
1、把模板目录下的style.css复制一份出来,命名为style.css.php,接着在style.css.php顶部加入这句:
1 < ?php if(extension_loaded('zlib')) {ob_start('ob_gzhandler');} header("Content-type: text/css"); ?>
在最后加上下面代码:
1 < ?php if(extension_loaded('zlib')) {ob_end_flush();} ?>
2、然后修改header.php中的引用CSS文件的路径:
原来的:
1 <link rel="stylesheet" type="text/css" media="screen" href="/style.css"/>
修改后的:
1 <link rel="stylesheet" type="text/css" media="screen" href="/style.css.php"/>
这样,你的CSS就被Gzip压缩了。
b. 同样的方法可以压缩你的JS. 只是在JS的顶部加入的是如下代码:
1 < ?php if ( extension_loaded('zlib') ) {ob_start('ob_gzhandler');} header("Content-Type: text/javascript"); ?>
加入到JS文件最后的代码和CSS文件的一样. 之后再修改主题文件中引用JS文件的路径文件名即可.
提示: 此方法较复杂,不推荐初级用户使用. 切忌在修改的时候要把原来的文件备份一下。省的出现悲剧就晚了。
以上三种开启Gzip压缩的方法,网上传的比较多,但是有一点,都不兼容IE6,下边分享一种兼容IE6的压缩方法:
方法4.通过.htaccess终极启用方法(推荐此方法)
1、下载对应的Gzip.zip文件,解压后上传至网站根目录。
2、修改根目录的.htaccess,加入以下代码,增加gz的识别支援及网址改写:
1 #识别gz格式的文件支持
2 <Files *.js.gz>
3 AddEncoding gzip .js
4 ForceType application/x-javascript
5 </Files>
6 <Files *.css.gz>
7 AddEncoding gzip .css
8 ForceType text/css
9 </Files><IfModule mod_rewrite.c>
10 RewriteEngine On
11 RewriteBase /
12 #wordpress静态网址,如果沒有使用,就略过
13 RewriteCond %{REQUEST_FILENAME} !-f
14 RewriteCond %{REQUEST_FILENAME} !-d
15 RewriteRule . /index.php [L]
16 #读到css和js文件时,就重定向到对应的gzip.php
17 RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]
18 #读到.css时,判断如果浏览器支持Gzip压缩且.css.gz文件存在,就重定向到压缩的CSS文件
19 RewriteCond %{HTTP:Accept-encoding} gzip
20 RewriteCond %{REQUEST_FILENAME}.gz -f
21 RewriteRule ^(.*).css $1.css.gz [L,QSA]
22 #读到.js,判断如果浏览器支持Gzip且.js.gz文件存在,就重定向到压缩的JS文件
23 RewriteCond %{HTTP:Accept-encoding} gzip
24 RewriteCond %{REQUEST_FILENAME}.gz -f
25 RewriteRule ^(.*).js $1.js.gz [L,QSA]
26 </IfModule>
3、浏览自己的网站,让CSS和JS产生gz档,并将相应的.gz文件权限设置为777。
4、最后,再次改写.htaccess,把以下代码注释掉或删除:
RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]
完毕。此Gzip方法是至今我最满意的,效果最显著的,强烈推荐。不过在修改CSS和JS后,还要还原那句代码并重做第3、4步。所以该方法稍有些复杂,比较适合喜欢折腾Wordpress的童鞋们。
目前网上流传的这4个完美开启网站Gzip压缩的方法,收集于此,根据网站空间的功能可能不是每种方法都支持,具体可以尝试不同的方法找到适合自己的。
开始找完美开启Gzip压缩的方法.
收集的4个完美开启网站Gzip压缩的方法如下:
方法1.使用Wordpress插件Gzippy
WordPress插件Gzippy,很方便的开启Gzip压缩功能,安装之后启用即可,无需设置,很方便.
下载地址:http://wordpress.org/extend/plugins/gzippy/
方法2.使用自定义的php.ini和.htaccess文件
a. 新建一个文本文件,重命名为 php.ini ,输入以下内容,保存并上传至网站根目录即可。
1 output_buffering = Off
2 output_handler =
3 zlib.output_compression = On
4 zlib.output_compression_level = 6
b.网站根目录下的.htaccess文件内加入以下代码(独占一行):
1 addhandler x-httpd-php5-cgi .php .html .htm .js
方法3.修改代码压缩CSS和JS文件
a.压缩CSS文件
1、把模板目录下的style.css复制一份出来,命名为style.css.php,接着在style.css.php顶部加入这句:
1 < ?php if(extension_loaded('zlib')) {ob_start('ob_gzhandler');} header("Content-type: text/css"); ?>
在最后加上下面代码:
1 < ?php if(extension_loaded('zlib')) {ob_end_flush();} ?>
2、然后修改header.php中的引用CSS文件的路径:
原来的:
1 <link rel="stylesheet" type="text/css" media="screen" href="/style.css"/>
修改后的:
1 <link rel="stylesheet" type="text/css" media="screen" href="/style.css.php"/>
这样,你的CSS就被Gzip压缩了。
b. 同样的方法可以压缩你的JS. 只是在JS的顶部加入的是如下代码:
1 < ?php if ( extension_loaded('zlib') ) {ob_start('ob_gzhandler');} header("Content-Type: text/javascript"); ?>
加入到JS文件最后的代码和CSS文件的一样. 之后再修改主题文件中引用JS文件的路径文件名即可.
提示: 此方法较复杂,不推荐初级用户使用. 切忌在修改的时候要把原来的文件备份一下。省的出现悲剧就晚了。
以上三种开启Gzip压缩的方法,网上传的比较多,但是有一点,都不兼容IE6,下边分享一种兼容IE6的压缩方法:
方法4.通过.htaccess终极启用方法(推荐此方法)
1、下载对应的Gzip.zip文件,解压后上传至网站根目录。
2、修改根目录的.htaccess,加入以下代码,增加gz的识别支援及网址改写:
1 #识别gz格式的文件支持
2 <Files *.js.gz>
3 AddEncoding gzip .js
4 ForceType application/x-javascript
5 </Files>
6 <Files *.css.gz>
7 AddEncoding gzip .css
8 ForceType text/css
9 </Files><IfModule mod_rewrite.c>
10 RewriteEngine On
11 RewriteBase /
12 #wordpress静态网址,如果沒有使用,就略过
13 RewriteCond %{REQUEST_FILENAME} !-f
14 RewriteCond %{REQUEST_FILENAME} !-d
15 RewriteRule . /index.php [L]
16 #读到css和js文件时,就重定向到对应的gzip.php
17 RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]
18 #读到.css时,判断如果浏览器支持Gzip压缩且.css.gz文件存在,就重定向到压缩的CSS文件
19 RewriteCond %{HTTP:Accept-encoding} gzip
20 RewriteCond %{REQUEST_FILENAME}.gz -f
21 RewriteRule ^(.*).css $1.css.gz [L,QSA]
22 #读到.js,判断如果浏览器支持Gzip且.js.gz文件存在,就重定向到压缩的JS文件
23 RewriteCond %{HTTP:Accept-encoding} gzip
24 RewriteCond %{REQUEST_FILENAME}.gz -f
25 RewriteRule ^(.*).js $1.js.gz [L,QSA]
26 </IfModule>
3、浏览自己的网站,让CSS和JS产生gz档,并将相应的.gz文件权限设置为777。
4、最后,再次改写.htaccess,把以下代码注释掉或删除:
RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]
完毕。此Gzip方法是至今我最满意的,效果最显著的,强烈推荐。不过在修改CSS和JS后,还要还原那句代码并重做第3、4步。所以该方法稍有些复杂,比较适合喜欢折腾Wordpress的童鞋们。
目前网上流传的这4个完美开启网站Gzip压缩的方法,收集于此,根据网站空间的功能可能不是每种方法都支持,具体可以尝试不同的方法找到适合自己的。
No comments:
Post a Comment