加速blog,压缩js,css,减省带宽

今日换了wopus idc的主机,老N开始关注起bandwidth来,以前用的主机不需要考虑带宽的因素,但是现在新主机就不同了。常听到有人大叫:”我的多少多少G带宽 又用完了,可是我的访问量还很小啊。”之类的话,老N也觉得奇怪,遂研究其wp流量来,这是不看不知道,一看吓一跳啊。

我们来看下老N的博客1.1G流量背后的故事:(发生这个故事的原因见文末–后记)

 

js文件大占流量

1.1G中js文件占了68.4%…吓死人啊。然后再看到底是哪些个js文件那么讨厌:

wp的js们

prototype.js, effect.js。。。。你们竟然占了这么多带宽。 再一看prototype.js竟然有121k之大!!effects.js也有40k!!用firebug查看,下载prototype.js需要1.3s左右,严重影像网页加载速度!

老N想,我不是用了Gzip插件么,怎么js文件没有被压缩呢? baidu后知道了,gzip压缩的是php文件,因此js文件和css文件是不会被压缩传输的。老N开始寻找解决方案,通过不断尝试,终于找到了一个可 以一次搞定所有js和css文件的办法(很多办法是更改每个.js和.css,很麻烦,也不好用),这就给大家细细说来:

首先,我说一下我们的理论基础。虽然gzip只能支持php,但是我们可以通过一些手段来将.js 和.css模拟成php,让gzip来压缩它们。因此我们创建一个gzip.php的文件,并用rewrite的方法将所有js,css文件叫给它处理。

然后,我们必须使用lamp的主机。并确认你的主机开启了zlib(用个php探针查看,基本都开启了):

Zlib

第三,我们创建gzip.php,代码如下:

<?php

$allowed = array(
‘css’ => ‘text/css’,
‘js’ => ‘text/javascript’
);

$file = isset($_GET['url']) ? $_GET['url'] : null;
$extension = explode(’.', $file);
$extension = array_pop($extension);

if(isset($allowed[$extension]))
{
$pos = strpos($file, ‘..’);
if ($pos === false && is_file($file))
{
@ob_start (’ob_gzhandler’);
header(”Content-type: {$allowed[$extension]}; charset: UTF-8″);
readfile($file);
} else {
header(’HTTP/1.1 404 Not Found’);
}
}

?>

通过ftp上传到你的博客的更目录吧。

最后,我们更改.htaccess文件,在.htaccess中添加:

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} ^.*\.(css|js)$
RewriteRule ^(.*)$ gzip.php?url=$1 [QSA,L]

好了,现在我们通过firebug看看,现在prototype.js传输是不是被压缩了。 prototype compressed

恩非常好!

其实,这样一来我的css也从15k变成了5k!

css compressed

再通过GIDZipTest网站测试,这个prototype.js文件的压缩率为77.1%

prototypecompressed2.jpg

大功告成,省流量,增速度!同样需要这么做的朋友也来尝试一下吧。

后记:

1.后来老N发现,博客频繁调用内置js文件的原因在于那个 lightbox插件(已经禁用了)。华丽的效果,必将带来一定的损失,流量,速度。

2.博客的加速是个系统工程,路漫漫其修远兮,老N将上下而求索。

3.如果不用插件,但是用了静态化的朋友,如果你的html文件灰常庞大的话,你也可以使用这个办法。只需要经过一些小小更改。

3.1 在gzip.php文件开头,’js’ => ‘text/javascript’的后面添加:

'html' => 'text/html',
        'htm' => 'text/html',

3.2 将.htaccess中的RewriteCond %{REQUEST_FILENAME} ^.*\.(css|js)$
改为 RewriteCond %{REQUEST_FILENAME} ^.*\.(css|js|html|htm)$

4.还没有想好。

原文地址:http://neolee.com/wordpress/compress-js-css/
 



像我这种连草根站长都算不上的毛草站长,对流量更是恐惧,limewebs给出的流量也只有100M,却给了200M的空间,郁闷,肯定是脑袋被驴踢了!2010.4.28日搞好的站,五一过后流量就超标了。按照上面的测试,再加上对php文件的压缩,基本上能压缩的都压缩了,但还是发现流量不够用,后来仔细查了一下,原来fckeditor好吃流量呀,添加文章时,看了一下居然要250K,天呐!!!!照这么计算,4篇文章也就1M,难怪流量会超标的这么快!!倒,改天换个编辑器。
300*300
  • 没有相关文章
  • 没有评论
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00488 秒