A-A+

[转]关于WordPress的静态化方法

2012年08月30日 灵犀一指 [转]关于WordPress的静态化方法已关闭评论 阅读 964 人 次

前几天介绍“自定义的WordPress数据库错误”的时候,有个读者留言询问WordPress完全静态化的插件,我今天就推荐一个插件,可以将WordPress实现部分静态,包括最主要的首页和文章页面,目录页目前还没有静态化。

这个插件的名字叫cos-html-cache, 安装这个插件需要虚拟主机支持mod_rewrite功能(Linux+Apache架构),先通过修改永久链接格式将WordPress的链接结构修改 为“伪HTML”格式,然后启用这个插件可以将文章页生成完全的静态HTML文章。这个插件还不能支持全静态化,但是文章页和首页的访问是最大的,这种静 态化也可以极大的提高系统的效率,减少对数据库的访问量。

启用这个全静态插件后,对于某些需要访问数据库的WordPress插件,可能会使其无法运行,例如原始版本的WP-PostViews插件,可以参考我对于WP-PostViews的修改方法,将插件修改为JavaScript模式即可。

WordPress的cos-html-cache插件为我们系统的静态化提供了非常好的解决方案,目前的版本是2.7.3。它可以将我们首页及文章(Post)进行静态化,使得访问速度大大提高,减少了服务器端的压力。不过对于页面、标签和分类,却不起作用。

为了能够实现WordPress的标签和分类的静态化,需要修改一下这个插件的代码,修改方法是:

找到下面这一行:

if( substr_count($_SERVER['REQUEST_URI'], '.htm') || ( SCRIPT_URI == CosSiteHome) ){

将其修改为:

if( substr_count($_SERVER['REQUEST_URI'], 'page') || substr_count($_SERVER['REQUEST_URI'], 'tag') || substr_count($_SERVER['REQUEST_URI'], 'category') || substr_count($_SERVER['REQUEST_URI'], '.htm') || ( SCRIPT_URI == CosSiteHome) ){

在下面这一行:

if(  substr_count($_SERVER['REQUEST_URI'], '../'))  $is_buffer = false;

的后面增加一行:

if(  substr_count($_SERVER['REQUEST_URI'], 'comment'))  $is_buffer = false;

找到下面这一行:

add_action('get_footer', 'CosSafeTag');

用//将其注释。

总的来说,这个插件的工作效率比WP-Cache要高,对于系统的性能有很大的提高,建议大访问量的WordPress博客尝试安装一下这个静态化插件。cos-html-cache的下载地址是: http://wordpress.org/extend/plugins/cos-html-cache/

标签:

评论已关闭!