压缩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 下载 : http://u.115.com/file/dnjn6dd4
查看更多关于htaccess方式启用gzip压缩CSS和JS - Linux操作系统:的详细内容...