第一种方案:
不需要第三方插件cos-html-cache支持,利用服务器有自定义404错误页面的功能解决问题,但前提是你的服务器或者主机有自定义404错误页面的功能。如果是服务器那肯定可以支持,如果是虚拟主机,需你的服务器供应商提供自定义404错误页面选项。
你只需创建一个404错误页面,并且写入下列4行代码即可简单优雅的实现无插件完美支持windows iis主机的永久固定链接的伪静态化地址格式。
原来的代码只有四行,供参考:
<?php
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ‘:80′)+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include(’index.php’);
?>
下面这串代码是经过优化修改的,对搜索引擎不会产生影响,原来的index.php链接还可以使用。<?php
header(”HTTP/1.1 200 OK”);
$ori_qs = $_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’);
?>
具体设置步骤:
新建一个记事本,在里面写入上面代码,保存,连同txt格式重新命名为wp-404-handler.php。将wp-404-handler.php上传到网站根目录。
设置404自定义错误指向wp-404-handler.php,一般来说,绝大多数服务器控制面板均提供该选项。
进入wordpress管理后台,设置(Options)-永久链接(Permalinks),你就当自己的主机是linux主机使好了,任意、随便设置自己喜欢的伪静态地址格式及静态地址后缀。
例如:
/y%year%/%post_id%.html
/%year%/%monthnum%/%post_id%.html
/%year%/%monthnum%/%postname%.html
第二种方案:
无Rewrite用cos-html-cache实现静态化
要求:使用下载cos-html-cache 1.1
具体设置步骤:
下载cos-html-cache 1.1 ,解压,传到/wp-content/plugins/目录,在后台”插件”中启用”cos-html-cache”
在”设置”永久选项中,自定义结构修改静态化的规则,例如/html/%postname%/
下载404代码,保存为404.asp。并且上传到网站的跟目录,设置404自定义错误指向404.asp
在后台cos-html-cache 管理选项生成静态页面,就可以实现目的了。
总结:
第一种方案比较简单,可以显现无index.php的永久链接。第二种方案较复杂点,但是可以生成静态页面,且可以实现无index.php的永久链接。





