时间: 2008-08-03 / 分类: WEB后端编程 - 开发与实践 / 浏览次数: / 10 个评论 发表评论
WordPress的cos-html-cache的安装手记
WEB前端开发中的一些编程风格和书...
12条经典摄影技巧
CSS Hack浏览器兼容IE6+IE7+IE8+IE9+FF
项目前端开发的架构

WordPress的插件很多,安装起来基本都比较简单,大部分放到plugins目录下面即可,而我安装cos-html-cache却花了好些时间。

cos-html-cache官方说

将会大大地提高你wordpress的运行效率和载入速度。该插件会在页面第一次载入的时候产生和url对应的真正的html文件作为缓存,后面的运行将 会直接载入该html从而大大的提高了页面的效率。当页面内容发生变化时将会自动更新对应的页面,更新缓存的触发事件有:修改文章、删除文章、评论成功提 交,同时这些事件也将会更新与之相邻的文章。

所以对于加快页面载入速度、减轻服务器负担,同时对于搜索引擎收录的友好性而言,这个插件是有必要的。

下载的cos-html-cache的版本是2.6.1,WordPress的主程序是2.6中文版。

解压到plugins目录下,后台插件启用成功;

在“设置”的“CosHtmlCache”下面不需要做什么改动;

然后在“永久链接”设置一个自定义结构,不能使用默认格式,官方建议采用这样的格式/html/y%year%/%post_id%_%postname%.html”,我的是“/content/%year%-%monthnum%/i%post_id%.html

由于在linux服务器上面,所以静态页面目录夹的文件夹属性要设置成 0777,以便可以生成和写入静态文件;

然后在WordPress根目录下(不一定是网站的根目录,如果WordPress放在二级目录下,那么就是所在的二级目录)创建一个文件名为”index.bak”,设置属性为0666,为了让生成页面和首页;

到此,按照官方的设置应该基本都完成了。

可是我的WordPress访问到那些文章的链接总还是404错误,那说明html页面没有生成成功,我检查了apache的http.conf配置文件发现rewrite的模块是加载了,但是虚拟主机对应的配置却没有设置好

LoadModule rewrite_module modules/mod_rewrite.so

<VirtualHost *:80>
       <Directory “/www/amiku.cn/wwwroot”>
             AllowOverride All
             Options FollowSymlinks MultiViews
             Order allow,deny
             Allow from all
         </Directory>

 Options FollowSymLinks
 ServerAdmin
www@amicool.net
 DocumentRoot /www/amiku.cn/wwwroot
 ServerName amicool.net
 ErrorLog logs/amicool.net-error_log
 CustomLog logs/amicool.net-access_log common
</VirtualHost>

cos-html-cache生成的页面是有延时的,似乎不是一访问就马上生成的;

这样之后,静态html页面是生成了,但是生成的页面却是乱码,我查看源代码的charset也是utf-8,浏览器里面查看页面的编码,却发现是GB2312的格式,用utf-8来查看,显示就是正常的,所以应该是服务器调用主题模板生成html的过程中出了问题,做了以下处理。

  • 在theme所调用的目录下的所有文本文件,全部页面强制用utf-8格式保存;
  • 在WordPress根目录下面的.htaccess头部加入一行AddDefaultCharset UTF-8来强制让服务器生成utf-8格式的页面

至此,cos-html-cache生成的页面就很正常了,查看页面源代码最底部可以看到类似<!–this is a real static html file created at 2008-08-03 21:19:54 by cos-html-cache2.5 –>的一行,同时查看对应的静态页面所在的目录也可以看到生成的html文件。

  1. 我发现首页可以生成html,但是其他文章的页面就不能了,这是为什么,文章的静态html文件夹要自己建吗?

    回复

    阿米酷 回复:

    只要对应静态html所在的目录夹有写入权限即可,尽量设置成777,如果还是不能生产html,检查web服务器是否已经开启rewrite模块

    回复

  2. 已经弄好了谢谢,但是还有一个问题是,怎么我的评论哪里都是英文的,还没有回复这一项

    回复

    阿米酷 回复:

    都是英文是因为主题的模板的内容是英文的原因,回复是由其他的WP的插件如Wordpress Thread Comment生成的,和cos-html-cache没有关系的

    回复

  站点地图 | 关于我 | 返回顶部
Copyright © 2001-2013 { amiku.cn | zhangshunjin.com }. Powered by 

阿米酷

张顺金


浙ICP备11002820号-1