IIS主机永久链接去index.php简约方法

之前写日子用Dean’s Permalinks Migration插件更改了博客的永久链接,可是由于是IIS主机,必须得在永久链接里保留index.php,无疑加深了一个不必要的层次结构。在网上搜索了N多次,结果发现用第三方插件可以实现去除index.php,即可以用ISAPI_Rewrite组件实现类似linux主机apache环境的mod_rewrite的url rewrite地址重写功能,但必须要拥有服务器上运行该组件的权限,因此就放弃了。

又过数日,在BO-BLOG里面发现上下篇日志是分类里面的上下篇,于是就上网搜索wp能不能也这么做。结果就搜索到了一篇win iis虚拟主机不需任何wordpress插件,不需要第三方组件完美的wordpress伪静态设置方法。实现非常简单,创建的新文件我放在了跟目录。当然,前提条件是服务器提供商的控制面板有自定义404错误页面的选项。

你只需创建一个404错误页面,并且写入下列4行代码即可简单优雅的实现无插件完美支持windows iis主机的永久固定链接的伪静态化地址格式。去掉网页地址中的index.php!

<?php
$qs = $_SERVER[‘QUERY_STRING’];
$_SERVER[‘REQUEST_URI’] = substr($qs, strpos($qs, ‘:80′)+3);
$_SERVER[‘PATH_INFO’] = $_SERVER[‘REQUEST_URI’];
include(’index.php’);
>

这样即可固定REQUEST_URI和PATH_INFO参量并且包括进去index.php,剩下的将交给wordpress完成任务(说实话,这参数定义代码偶也不清楚,依葫芦画瓢即可)。
具体设置步骤:

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

Published by

@XiaoKyun

双鱼男,过分热心的好人。