仓蓝

日记本

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  23 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
其实之前早就存在这样一个问题,只是没有时间去考虑是否会影响到整个网站结构的内部优化。忙里偷闲之中我无意找到了解决方案在网上找到的,程序是PHP的,在这里转载分享一下,也希望在以后能够利用方便一点。

首先设置.htaccess文件,将动态调用的参数转换为静态的HTML的URL地址,例如将在post目录下的文件,转发到根目录的wp- post.php文件中,加入的语句类似:RewriteRule ^post/([a-z0-9\-]+\.html)$ wp-post.php?$1$2

然后修改wp-post.php文件,在文件的开头加入以下PHP代码:

以下为引用的内容:

ob_start();

$qstring = isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : "";

define("HTML_FILE", $_SERVER['DOCUMENT_ROOT']."/post/".$qstring);

if (file_exists(HTML_FILE))

{

$lcft = filemtime(HTML_FILE);

if (($lcft + 3600) > time()) //判断上次生成HTML文件是否超过1小时,若没有才直接输出文件内容

{

echo(file_get_contents(HTML_FILE));

exit(0);

}

}

之后是现有的PHP的代码,然后在当前代码的最后面加上如下的PHP代码:

以下为引用的内容:

define("HTMLMETA","");

$buffer = ob_get_flush();

$fp = fopen(HTML_FILE, "w");

if ($fp)

{

fwrite($fp, $buffer.HTMLMETA);

fclose($fp);

}

好了,然后查看你的静态HTML页面,如果页面尾部出现了注释行,说明已经成功的创建了静态HTML文件。

这个方法的一个应用就是我先前写的那个“WordPress年度博客统计插件”,这个统计插件由于查询十多次数据库,很多人访问的时候会有很大性能问题,使用我介绍的这种动态生成HTML技术后,一天就查询一次,生成一次统计排行,完美解决了查询数据库的性能问题。

posted on 2013-09-27 11:14 cangshi 阅读(167) 评论(0)  编辑  收藏 所属分类: php

只有注册用户登录后才能发表评论。


网站导航: