首页 > 技术贵在折腾 > IIS下wordpress去掉index.php的方法两则

IIS下wordpress去掉index.php的方法两则

2011年8月20日 发表评论阅读评论

前言:不得言尝试着总结一下IIS下Wordpress博客去掉永久链接index.php 的方法,找遍了几乎所有的官方资料,针对去掉index.php的方法只发现了一种。那就是利用自定义404错误重定向,实现重定向的方式去掉index.php。

可喜的是,当使用ISAPI_Rewrite,并创建好ISAPI_Rewrite规则后,wordpress的固定链接就能去掉index.php了。那么这样算一种办法把。ISAPI_Rewrite和apache下的mod_rewrite同理。

一、利用自定义404重定向去掉index.php

解读:办法比较暴力。由于IIS下固定链接无法去掉 Index.php,于是有人想到制造404错误并截取错误的URL,进行URL重写匹配的办法,使请求URL获得正确解析。

通俗来讲就是说,把错误的链接(没有index.php)利用404.php获取,通过加工变成正确的URL重新送给Wordpress。去掉index.php的步骤如下:

  1. 下载404.rar文件,保存到博客根目录;
  2. 打开IIS管理工具-博客属性-自定义错误-404;404.2;404.3;
  3. 类型选择URL,地址输入:/404.php 前面的“/”务必保留;

登录wordpress后台,在固定链接/永久链接(Permalinks)设置项目- 自定义结构里去掉index.php。是不是成功了?

我的wordpress固定链接自定义结构:/%category%/%postname%/

虚拟主机用户怎么办?甭怕,绝大多数虚拟主机都支持自定义 404错误。实在不成,一个电话空间商就能解决。

这里有个较早的404重定向办法,仅404错误页面有所不同,或许能让您思维发散一下:让WordPress 固定链接个性化的第二部分-WordPress的固定链接高级进阶。

二、利用ISAPI_Rewrite去掉index.php

wordpress能完美的工作在apache下,因为它有mod_rewrite模块。但在IIS下没有这玩意,我们只好使用第三方软件ISAPI_Rewrite,来解决这个问题。事实上ISAPI_Rewrite是收费的,但免费版提供的功能可以完美支持wordpress,因此我们不必担心。

我的处理办法:

下载并安装ISAPI_Rewrite3免费版

下载ISAPI_Rewrite3_0086_LiteISAPI_Rewrite3_0086_Lite_x64,安装在IIS服务器上。前者是32位,后者是64位,收费版在这里Download ISAPI_Rewrite 3

ISAPI_Rewrite安装 wordpress去掉index.php

ISAPI_Rewrite 3 我安装在了D盘Server文件夹

为了统一管理,我一般都把服务软件放在D:\Server文件夹,因此我把ISAPI_Rewrite 3安装在这里。收费版本和免费版本的区别,据说配置文件httpd.conf放的位置不同。免费版在安装目录里,收费版在网站根目录下,虚拟主机每个网站下都会有。

ISAPI_Rewrite安装 wordpress固定链接 去掉index.php

网站属性多了ISAPI_Rewrite标签和ISAPI筛选器状态

2、创建ISAPI_Rewrite规则

复制下面代码到D:\Server\ISAPI_Rewrite3\httpd.conf文件里保存;或者在IIS属性标签ISAPI_Rewrite里“DEIT”保存。

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?p=$1 [NC,L]

登录wordpress后台,在固定链接/永久链接(Permalinks)设置项目- 自定义结构里去掉index.php。是不是成功了?

我的wordpress固定链接自定义结构:/%category%/%postname%/

ISAPI_Rewrite规则 ISAPI_Rewrite安装 永久链接

创建ISAPI_Rewrite规则 去掉永久链接的index.php就在眼前

什么?你的ISAPI_Rewrite在IIS的ISAPI筛选器里状态未知?好吧,浏览器里访问网站下的任意链接,返回看看。ISAPI_Rewrite是需要一次访问才能生效的。如果安装上就生效了,那是别人“不小心”帮你完成了上面工作。

更多
  1. 2012年4月5日11:32 | #1

    哥们,安照你的方法设置后,怎么所有页面都跳转到首页了啊,那个规则是那样写的么?我的是vps iis6

  2. 2011年10月11日10:40 | #2

    @大海 额。。。很简单啊,如果采用第一个方法,那就下载那404.rar就成,第二个方法也用不着404文件的。

  3. 2011年10月11日10:16 | #3

    我该传那个文件到根目录呢

  4. 郑州
    2011年9月30日12:14 | #4

    加我QQ:366308841,我的index.php
    还去不掉

评论分页
1 2 2273