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

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

去掉index.php的步骤如下:

  1. 编写404.php 文件,上传保存到博客根目录(和wordpress 的 index.php 在同一个目录)。文件内容如下;
<?php
$qs = $_SERVER['QUERY_STRING'];
$pos = strrpos($qs, '://');
$pos = strpos($qs, '/', $pos + 4);
$_SERVER['REQUEST_URI'] = substr($qs, $pos);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>
  1. 打开IIS管理工具-博客属性-自定义错误-404;404.2;404.3;
  2. 类型选择URL,地址输入:/404.php 前面的“/”务必保留;

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

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