服务器技术

 首页 > 服务器技术 > Linux > htaccess方式启用gzip压缩CSS和JS - Linux操作系统:

htaccess方式启用gzip压缩CSS和JS - Linux操作系统:

分享到:
【字体:
导读:
          压缩CSS和JS成为gzip的功能以前试过,不错。不过下面一种.htaccess静态手工压缩的办法,有些麻烦但超级高效,而且兼容性好,感觉更好,可以读取读取缓存的js及css压缩版gz来加快站点的...

压缩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
 
AddEncoding gzip .js 
ForceType application/x-javascript 
 
 
AddEncoding gzip .css 
ForceType text/css 

 
 
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] 

然后浏览自己的网站,让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

      上一篇:FreeBSD Web服务器配置篇 - Linux操作系统:Ubuntu_Ce 下一篇:让vim自动保存 - Linux操作系统:Ubuntu_Centos_Debian
    分享到:
    让vim自动保存 - Linux操作系统:Ubuntu_...
      vim是我最喜欢的编辑器,连写邮件都离不开它,所以一直用Thunderbird 2.0 + External Editor插件 + vim这一套组合来写邮件。最近又装了Google日文输入法,可惜它跟vim的兼容性不太好,经常在汉字变换时导致vim异常退出,而写了一半的邮件也就化为泡影了。于是想,如果vim能自动保存就好了。今天研究了一下帮助文件,发...
    FreeBSD Web服务器配置篇 - Linux操作系...
     Web服务器(192.168.10.40)同时提供Web服务和DNS服务。所以这里我们需要安装和配置Apache和Bind。 服务器网络配置# ee /etc/rc.confifconfig_lnc0="inet 192.168.10.40 netmask 255.255.255.0"defaultrouter="192.168.10.10"           hostname="web.rd.bj"# ee /etc/hosts192.168.10.40    web.rd.bj ...
    •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
    • 在这里……