办法比较暴力。由于IIS下固定链接无法去掉 Index.php,于是有人想到制造404错误并截取错误的URL,进行URL重写匹配的办法,使请求URL获得正确解析。
通俗来讲就是说,把错误的链接(没有index.php)利用404.php获取,通过加工变成正确的URL重新送给Wordpress。
去掉index.php的步骤如下:
- 编写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'); ?>
- 打开IIS管理工具-博客属性-自定义错误-404;404.2;404.3;
- 类型选择URL,地址输入:/404.php 前面的“/”务必保留;
登录wordpress后台,在固定链接/永久链接(Permalinks)设置项目- 自定义结构里去掉index.php。是不是成功了?
虚拟主机用户怎么办?甭怕,绝大多数虚拟主机都支持自定义 404错误。实在不成,一个电话空间商就能解决。
转载于:https://blog.51cto.com/yuanxi/707449