Home > WordPress > 在IIS下的实现WordPress永久链接

在IIS下的实现WordPress永久链接

December 20th, 2009 jzero Leave a comment Go to comments

因为IIS不支持.htaccess,所以在IIS下开启WordPress永久链接后需要在格式前加上/index.php/,例如: /index.php/%postname%.html。但/index.php/显得无意义、不美观而且增加了目录层次,所以最好还是把它去掉。以下介绍两种实现方法:

1、安装 IIS 的 ISAPI 组件

这种方法适合能自己管理服务器的同学或者和空间提供商关系好的同学,因为需要服务器的管理权限安装一个免费的ISAPI扩展,详情请参考《Wordpress在Win-iis中的完美rewrite实现方法》,该扩展可在这里下载。这个方法是很方便的,安装完扩展即可使用 WordPress 的永久链接,无需额外配置,但需要空间提供商的帮助。如果是免费主机的话,建议使用下面一种方法,自主可控。

2、利用404.php实现

首先需要编写404.php页面,上传404.php文件放到wordpress根目录下,代码如下:

if (strpos($_SERVER["SERVER_SOFTWARE"], "Apache") === 0){
 // Apache
 // REQUEST_URI形如"/non-exist-page.html"
 $uri = $_SERVER['REQUEST_URI'];
}
else{
 // IIS
 // $_SERVER['QUERY_STRING']形如"404;http://localhost/non-exist-page.html"
 $qstr = $_SERVER['QUERY_STRING'];
 $_SERVER['QUERY_STRING'] = "";
 $pos = strrpos($qstr, '://');
 $pos = strpos($qstr, '/', $pos + 4);
 $uri = substr($qstr, $pos);
}
$_SERVER['REQUEST_URI'] = $uri;
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
// 解决重定向的页面中的页面导航问题
$_SERVER['SCRIPT_NAME'] = $_SERVER['PATH_INFO'];
include('index.php');

然 后需要设置IIS的404页面到wordpress根目录下的404.php。IIS下的设置步骤为:Internet信息服务窗口->右键网站或 wordpress目录->属性->自定义错误->选中404->编辑属性…->消息类型选择url->输入 /404.php(绝对路径)。

之后再wordpress后台开启永久链接后,便可以看到效果了,本站便是用此方法实现的。

当然此方法同样适用于Apache环境,代码相同,不同的只是配置404错误转向到404.php的配置。配置是在wordpress目录下建立,.htaccess文件并在文件中增加“ErrorDocument 404 /index.php”即可。

Categories: WordPress Tags: , View: 312 views
Share with: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

  1. No comments yet.
  1. No trackbacks yet.
注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。