WordPress在Win主机生成HTML静态文件的方法

ggp 技术 2013-01-11 499 次浏览

本文简单介绍实现wordpress静态化的一些经验和步骤,网上的教程大部分都是针对LINUX的,这对我们使用WINDOWS主机的朋友来说,比较头疼。

网上推荐了cos-html-cache和super cache两款插件,我都试用了下。在WINDOWS下最不方便的就是说明文档中的权限,linux系统中的权限和WINDOWS的是不一样的。然后发现FTP工具可以修改文件权限为“777”或“755”等要求。但最终都没有成功,cos-html-cache用的是最新的2.7.3,能生成首页,内页生成不了。super cache也是生成了好像路劲又不对了。

很困惑,cos-html-cache要求主机必须支持URLrewrite,也成功的完成了IIS的rewrite,但就是只生成首页,但不确定是什么时候生成的。

没办法,把最新的cos-html-cache2.7.3删除了,安装了早期的手动生成文件的1.1版本,修改固定连接,比如本站为:/wp/%post_id%.html。然后启用cos-html-cache,发现成功了。
cos-html-cache1.1下载)
但1.1版本的只能生成首页和内容页,分类页和标签页却无法生成。这个问题,可以通过网上介绍的使用404文件来解决。制作404.php文件代码为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
header("HTTP/1.1 200 OK");
$ori_qs = strtolower($_SERVER[’QUERY_STRING’]);
$pattern = ’/[^;]+;[^:]+://[^/]+(/[^?]*)(?:?(.*))?/i’;
preg_match($pattern, $ori_qs, $matches);
$_SERVER[’PATH_INFO’] = $matches[1] . ’?’ . $matches[2];
$_SERVER[’REQUEST_URI’] = $_SERVER[’PATH_INFO’];
$query_args = explode(’&’, $matches[2]);
unset($_GET);
foreach ($query_args as $arg)
{
$the_arg = explode(’=’, $arg);
$_GET[$the_arg[0]] = $the_arg[1];
}
include(’index.php’);
?>

在IIS中设置自定义错误,类型选择URL,注意不要选择成了文件,否则只能支持htm或html文件的错误文件。
这个地方要注意修改为/404.php,而不是带网址的完整路径。
完成以上步骤,就大功告成。修改文章,发表文章,都能自动生成HTML。

回顶部