htaccess方式启用gzip压缩CSS和JS

作者:柯冷 发布时间:2011-5-13 17:16 Friday 分类:折腾 14363 人围观

压缩CSS和JS成为gzip的功能以前试过,不错。不过下面一种.htaccess静态手工压缩的办法,有些麻烦但超级高效,

而且兼容性好,感觉更好,可以读取读取缓存的js及css压缩版gz来加快站点的访问。

em自带了gzip压缩功能,不过还是先收集起来,以后做其他的站用的到哈。

以下为具体步骤:

将Gzip.php文件上传到网站的根目录下,也就是/public_html/文件夹中;

修改网站的.htaccess文件,在其中增添如下语句:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<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>

然后浏览自己的网站,让CSS和JS产生gz档;注意,如果你发现浏览过后,CSS和JS文件没有产生gz文件,

请注意把CSS和JS所在文件夹的上层文件夹属性修改为777。

最后,再次改写.htaccess,把以下代码注释掉或删除。

1 RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]
 

注意:如果以后要修改CSS和JS,那还要还原那句代码并重做之前的步骤。方法有些麻烦,不过效果很好。

下面是测试网站是否启用gzip压缩的网址:

http://tool.chinaz.com/Gzips/Default.aspx

Gzip下载:点击下载


标签: htaccess gzip 压缩

  1. 2011-05-14 23:11

    gzip是个很实用的功能啊,还好,我的主机直接在后台就可以开启gzip,原来40多KB的首页,压缩后也就剩下不到10KB了,效果非常良好啊。呵呵,节省流量,大大提升页面打开速度。

    柯冷
    2011-05-15 09:26
    @沈阳seo:确实灰常实用,我的程序后台也可以直接开启,倒是省了不少事

添加新评论 »