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

  [复制链接]
查看: 518   回复: 5
发表于 2014-4-25 16:50:06 | 显示全部楼层 |阅读模式
    我看论坛有人PM我需要这个,之前我在IIS下也花了一番功能弄,最后才找到这个解决方法。发出来给有需要的人,这样可以节省大家一些时间。。

前言:不得言尝试着总结一下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的步骤如下:

  • 下载404.rar文件,保存到博客根目录;
  • 打开IIS管理工具-博客属性-自定义错误-404;404.2;404.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_Lite,ISAPI_Rewrite3_0086_Lite_x64,安装在IIS服务器上。前者是32位,后者是64位,收费版在这里Download ISAPI_Rewrite 3

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

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


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

IIS下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%/

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

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


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


引用地址:http://www.budeyan.com/jishu/wor ... nt-page-1/#comments




评分

参与人数 4T币 +6 收起 理由
fake-x + 1 送花花~~~
ryan2101 + 1
sortof + 1 楼主,你知道的太多了
月光飞燕 + 3

查看全部评分

回复

使用道具 举报

发表于 2014-4-25 17:01:51 | 显示全部楼层
感谢心情楼主的帮助,等会就按步骤去解决
回复 支持 反对

使用道具 举报

发表于 2014-4-25 18:14:17 | 显示全部楼层
提供线索的有分加没有啊IIS下wordpress去掉index.php的方法两则

点评

不管加不加分,希望能帮到别人哦。  发表于 2014-4-25 18:38
回复 支持 反对

使用道具 举报

发表于 2014-4-26 13:58:54 | 显示全部楼层
IIS下wordpress去掉index.php的方法两则IIS下wordpress去掉index.php的方法两则IIS下wordpress去掉index.php的方法两则 不错,           IIS下wordpress去掉index.php的方法两则
回复 支持 反对

使用道具 举报

发表于 2014-4-26 15:41:04 | 显示全部楼层
弱弱的问一下
为什么wordpress要去掉index.php?   防黑?

点评

静态化感觉好点。  发表于 2014-4-26 15:56
回复 支持 反对

使用道具 举报

发表于 2014-4-29 02:04:31 | 显示全部楼层
wordpress不是自动配置好了的?我看了下.htaccess里面已经配置好了啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则