WordPress 2.8开启Gzip压缩功能

时间: 2009-10-08 / 分类: 个人心情, 身边故事, 软件网络 / 浏览次数: 898 views / 68个评论 发表评论

Gzip博客流量过大和带宽不足的问题,这两天深深地困扰了我。每天大约500MB的流量超过了我的预期,不过这些流量中,却只有不到200MB是访客访问流量,剩下的有200MB+是搜索引擎抓取网页的流量,加上接近100MB错误页面流量。

这其中要解决的当然是搜索引擎和404页面的问题。不过要想彻底解决问题,除了购买流量之外好像并没有完美的解决方案:搜索引擎的流量占用我无能为力,难不成我阻止搜索引擎的机器人来我这里抓取?404页面占用太多流量的问题也找不到好的解决办法,当时使用 Global Translator 的时候太年轻不懂深浅,导致了现在的局面,我只好杀鸡取卵,直接将404页面搞掉了,通过搜索引擎搜到已经去除页面的用户,只好连他们浏览我博客的机会也不给了。

不过 countmeon 同学一语点醒梦中人,建议我打开博客的 Gzip 压缩功能,左岸读书提到通过压缩减少了一些流量。搜索了一下,发现 WordPress 2.5之后的版本取消了自带的 Gzip 压缩功能,要解决问题只能自力更生了,还好网上有比较详细的解决方法。下面转述两种解决办法:

1、全动手型:

首先开启虚拟主机的 Gzip 功能:在 Wordpress 安装目录下新建或者编辑 php.ini,在其中添加代码:

output_buffering = Off
output_handler =
zlib.output_compression = On

保存之后,再编辑 Wordpress 根目录下的 .htaccess 文件,以压缩 JS、CSS、HTML、XML 文件。如果服务器使用的是 Apache 2,采用 mod_deflate 模块来实现 Gzip。我们在 .htaccess 中加入以下代码就可以压缩 HTML, PHP, JS, CSS, XML 后缀的文件:

AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript

如果服务器 Apache 版本不是 2.0 而是 1.3,就可以使用 ob_gzhandler 函数进行压缩。这里不再叙述,请到水煮鱼博客查看。

2、半动手型:

根据辐射鱼的指示,首先下载 Gzip.php 文件并上传到你的 Wordpress 安装目录,然后在你的 Wordpress 根目录建立 wp-cache 文件夹并确保其可写入(属性777),最后在 .htaccess 里面加上下列代码:

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

然后登陆 Gzip 检测页面,输入我的博客地址 http://louishan.com 进行检测,成功了!首页从60KB压缩到了16KB,也所率达到73%。

成功

------------------------分割线,下面是出现的问题--------------------

我是完全自己动手进行的压缩,不过压缩也带来了问题,一些图片上面竟然给我添加了外框,灰常难看啊!有没有开启压缩的同学遇到同样的问题,怎么解决的呢?

图片外框

图片

还有一个问题是对排版也产生了小小的影响,估计是压缩 CSS 文件导致的吧,可惜不知道应该如何修改。有同学知道吗?不吝赐教啊!

排版

鸣谢:JohnZon 原文

Powered by Zoundry Raven

分享:  Twitter  ReTweet  twittley  嘀咕  sina  叽歪  做啥  identica  开心  人人网  白社会  豆瓣  QQ空间  Follow5  5G  tianya.cn  我烧网  hellotxt
收藏:  QQ书签  Google  百度搜藏  youdao  雅虎收藏  yahoo bookmarks  buzz  Live Favorite  新浪 Vivi  和讯书签  mister-wong.cn  115  chunw  yangku  Delicious  stumbleupon  reddit  mister-wong  Sphinn  gnolia  Simpy
推荐:  Facebook  LinkedIn  FriendFeed  Posterous  digg  HaoHao  MySpace.CN  豆瓣九点  鲜果  我挖  奇客发现  waakee  ken1ken  365key  收客  乐收  Bolaa  POCO  netvibes  Sent Mail  PDF File

68个评论

  1. lovee
    2009/10/08 于 22:58:32

    不知道怎么解决的说=v=图片方面估计可能是因为已经改动了图片之类的,试试用png呢?

    [回复]

    kangzj 回复:

    @lovee, 还应该是css的问题,肯定不关图片格式的事情

    [回复]

    Louis Han 回复:

    @kangzj, 看来真可能是CSS的问题,我把CSS压缩去掉试试吧

    [回复]

    Louis Han 回复:

    @lovee, 好像不是图片的问题呢,我的图片本来也是PNG的

    [回复]

  2. A.shun
    2009/10/08 于 23:04:31

    你那个图片外框问题好像只在IE中出现

    [回复]

    Louis Han 回复:

    @A.shun, Firefox也是这样的

    [回复]

  3. wayne
    2009/10/08 于 23:12:08

    最简单的对策 -- 买流量。。。

    [回复]

    Louis Han 回复:

    @wayne, 我要是有钱人就好了

    [回复]

  4. 我买糕的。
    2009/10/08 于 23:15:35

    没必要开GZ吧。。我一个月流量没有超过1G过……

    [回复]

    Louis Han 回复:

    @我买糕的。, 我两天就超过1GB!

    [回复]

  5. exia
    2009/10/08 于 23:19:37

    压缩之后,是不是还能同时提高访问速度?

    [回复]

    Louis Han 回复:

    @exia, 按照理论来说,确实应该是这样的

    [回复]

    exia 回复:

    @Louis Han, 那我要試試看,我覺得我的速速還是有些偏慢~

    [回复]

  6. MuMu'S
    2009/10/09 于 00:02:50

    看了你的流量,惊呆了。

    [回复]

    Louis Han 回复:

    @MuMu'S, 我自己也很惊呆

    [回复]

  7. whisperer
    2009/10/09 于 02:21:41

    我使用的服务器默认就开了Gzip,所以我就不用管了。

    错位的问题很奇怪啊,你如果没修改css的话应该不会啊

    [回复]

    Louis Han 回复:

    @whisperer, 我开启了Gzip压缩CSS功能,估计是这边出问题了

    [回复]

  8. 爱.一起.你
    2009/10/09 于 08:46:14

    有的时候流量高也不是一件好事啊!

    [回复]

    Louis Han 回复:

    @爱.一起.你, 如果钱多就不是问题 呵呵

    [回复]

  9. engic
    2009/10/09 于 09:24:58

    博客流量过小和带宽过剩的问题,这两天深深地困扰了我。
    呵呵

    [回复]

    Louis Han 回复:

    @engic, 羡煞旁人啊

    [回复]

    itlobo 回复:

    @engic, 不担心带宽的人路过

    [回复]

  10. 胡戈戈
    2009/10/09 于 10:00:23

    建议使用wp super cache,这个就能直接使用gzip了,而且静态化了
    Autoptimize 这个插件能压缩代码的,呵呵
    另外我送了一些带宽给你,应该够用的

    [回复]

    Louis Han 回复:

    @胡戈戈, 戈戈真是太慷慨了,竟然送了那么多,谢谢谢谢啊!

    你说的那两个插件我试试看,希望不该有的流量降下来。

    [回复]

    胡戈戈 回复:

    @Louis Han, 用着不满意,我自己也很心疼的

    [回复]

    Louis Han 回复:

    @胡戈戈, 目前很好,挺满意的 O(∩_∩)O~ 还得多谢你的慷慨相助

    [回复]

评论分页: 1 2

发表评论

您的昵称 *

您的邮箱 *

您的网站