返回首页
当前位置: 主页 > 网络编程 > 其他实例教程 >

wordpress在Win服务器下永久链接伪静态的方法

时间:2012-04-22 16:57来源:知行网www.zhixing123.cn 编辑:麦田守望者

发现一个能够让wordpress在Win服务器下永久链接伪静态的方法,要实现无Rewrite能设置不带index.php的永久链接或者能生成静态页面更好。
下面总结两种已成功实现的方案:

第一种方案:不需要第三方插件cos-html-cache支持,利用服务器有自定义404错误页面的功能解决问题,但前提是你的服务器或者主机有自定义404错误页面的功能。如果是服务器那肯定可以支持,如果是虚拟主机,需你的服务器供应商提供自定义404错误页面选项。
你只需创建一个404错误页面,并且写入下列4行代码即可简单优雅的实现无插件完美支持windows iis主机的永久固定链接的伪静态化地址格式。

<?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’);
?>

具体设置步骤:

1.新建一个记事本,在里面写入上面代码,保存,连同txt格式重新命名为wp-404-handler.php。将wp-404-handler.php上传到网站根目录。
2.设置404自定义错误指向wp-404-handler.php,一般来说,绝大多数服务器控制面板均提供该选项。
3.进入wordpress管理后台,设置(Options)-永久链接(Permalinks),你就当自己的主机是linux主机使好了,任意、随便设置自己喜欢的伪静态地址格式及静态地址后缀。
例如:
/y%year%/%post_id%.html
/%year%/%monthnum%/%post_id%.html
/%year%/%monthnum%/%postname%.html
我用的格式是:/%year%/%monthnum%/%postname%

第二种方案:

无Rewrite用cos-html-cache实现静态化
要求:使用下载cos-html-cache 1.1
具体设置步骤:

1.下载cos-html-cache 1.1 ,解压,传到/wp-content/plugins/目录,在后台”插件”中启用”cos-html-cache”
2.在”设置”永久选项中,自定义结构修改静态化的规则,例如/html/%postname%/
3.下载404代码,保存为404.asp。并且上传到网站的跟目录,设置404自定义错误指向404.asp
4.在后台cos-html-cache 管理选项生成静态页面,就可以实现目的了。

总结:
第一种方案比较简单,可以显现无index.php的永久链接。第二种方案较复杂点,但是可以生成静态页面,且可以实现无index.php的永久链接。

------分隔线----------------------------
标签(Tag):Wordpress wordpress模板 wordpress教程 wordpress技巧 wordpress插件
------分隔线----------------------------
推荐内容
猜你感兴趣