IIS下wordpress永久链接(PermaLink)不用rewrite使用404页面实现

如果是在Linux主机下,主机支持mod_rewrite的话,那就不需要费那么大的劲,但是一部分WordPress是安装在Windows主机上的,要想使伪静态就有点麻烦。我在网上找了很多wordpress的rewrite规则,但是都不敢用。wordpress又不提供标准rewrite规则,真是麻烦。

在网上找wordpress的404页面使用的时候居然找到一个教程,原理是利用404错误页面重写URL,达到wordpress的伪静态。这样就可以在IIS下实现漂亮的URL。

第一,建一个404.php文件在你的WordPress根目录中,文件内容如下:
<?php
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>

第二,设置站点404错误页面,独立服务器的可以直接操作IIS,如果是虚拟主机的,现在大部分虚拟主机控制面板都支持设置404错误页面,你把地址设置为"/404.php"。
自己管理iis的,可以通过网站属性-自定义错误来设置404错误页面,不过也要用绝对地址"/404.php"。
第三,登陆你的wordpress后台,设置->永久链接,结构可以任意设置,如:
/%year%/%monthnum%/%postname%/

问题:
不支持中文,postname和tag最好是英文的,中文的还是无法访问。中文的tag可以去设置一下tag slug

改进中……

10 条评论

gordon

我想弄这个固定链接这样的操作,但总弄不好!注:我在是一个虚拟主机上的一个站点,网上的介绍都用了下,但总有问题!有空再研究下,先留言下!

回复
MADMAN

对了,我检查过了,使用了404这个方法,游览器状态码是200。
对此我还不放心我还特地重写了这个文件的状态码为200,加强……

回复
MADMAN

请问一下这样做的话搜索引擎是否能正常收录页面内容及内容里面的链接?
因为我正打算做一个站点使用这个404擦边球,所以找到此处。
关注,请多多指教,盼回复,谢谢!

回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

😉😐😡😈🙂😯🙁🙄😛😳😮:mrgreen:😆💡😀👿😥😎😕