Bluehost主机对网页传输的优化有些奇怪,html文件默认是进行Gzip进行压缩的,但对CSS和JS文件不进行压缩,用户也不能通过.htaccess文件让mod_deflate对CSS和JS文件进行压缩。现在我们就介绍一个使用mod_rewrite提供的功能实现全站CSS和JS压缩的方法。

1.使用Minify库进行压缩

Minify是Google Code上的一个开源项目,作者整合了国外多个专家的研究成果,形成了一个功能强大的库,有很多大型站点也在使用这个库进行压缩。

使用方法

首先下载Minify的最新版本,把压缩包里的min目录上传到站点根目录,然后打开.htaccess编写rewrite rule:

RewriteEngine On
RewriteBase /
RewriteRule ^(.*\.(css|js))$ min/index.php?f=$1&debug=0 [L,NC]

2.使用Combine.php进行压缩

Combine.php是一个不知名的国外开发者写的一个小程序,同样可以压缩站点的CSS和JS文件,但与Minify相比Combine.php是超轻量级的,整个文件只有不到5K大小,大家可以点击这里下载。下载后把文件上传到网站根目录,然后编写rewrite rule:

RewriteEngine On
RewriteBase /
RewriteRule ^css/(.*\.css) /combine.php?type=css&files=$1
RewriteRule ^javascript/(.*\.js) /combine.php?type=javascript&files=$1

补充说明:

两个方法都是在服务器对所有CSS和JS先进行整合再传输,效率是比较高的,而且这两个方法也适合其他不能直接通过mod_deflate进行压缩的主机。大家可以根据自己的喜欢选择使用哪个方法对Bluehost站上的网页进行压缩。