4月 7th, 2008

WordPress 2.5 中的 gzip

WordPress 2.5 取消了 gzip 选项,现在是否启用 gzip 压缩,直接服务器决定。如果服务器使用的是 Apache 2,服务器是采用 mod_deflate 模块来实现 gzip。

其实我们在 .htaccess 中加入以下代码可以压缩 HTML, PHP, JS, CSS, XML 后缀的文件。

<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript
</ifmodule>

如果服务器 Apache 版本不是 2.0 而是 1.3,就可以使用 ob_gzhandler 函数进行压缩(需要 PHP 含有 zlib 库,一般有):

首先需要把 CSS 或者 JS 文件后边加上后缀 .php。

然后在文件的首行加入

<?phpIf(Extension_Loaded(’zlib’)){    Ob_Start(’ob_gzhandler’);
}Header(”Content-type: text/css”); //JS文件为 Content-type: text/javascript ?>

最后在文件的末行加入

<?php If(Extension_Loaded(’zlib’)) { Ob_End_Flush(); } ?>

对应的引用这个 CSS 或者 JS 的时候需要改一下文件的名字,后缀加 .php

WordPress 2.5 之前的 gzip 选项就是采用这种方法进行页面,经过测试,采用服务器压缩要比使用 PHP 压缩要更快,而且压缩之后更小。所以你的服务器是 Apache 2.0 并且加载了 mod_deflate,建议不要使用这个方法压缩。所以也不建议使用上一篇文章中提到 GZIP Pages 插件。

参考:

gzip_百度百科

WordPress 2.5 gzip启用问题

PHP使用mod_deflate压缩页面和使用GZip压缩页面的方法

作者:雪山飞猪

原文链接:再谈 gzip

随机日志

17fav 收藏本文


收藏 & 分享

Powered by 17fav.com