wordpress 静态化设置 windows主机伪静态去除index.php方法


对于伪静态的问题,相信用 WordPress 的朋友都会很熟悉 WP-Cache 这款插件了,不仅因为它出众的性能使其几乎成为 WP 用户必备插件,而且它难以安装也是出了名的。 现在介绍一款 WP-Cache 的改进版插件 WP Super Cache。与 WP-Cache 相同,它也是一款 WordPress “静态化”插件,可以通过缓存来提高大负载下 WP 的性能。WP Super Cache 相比 WP-Cache 最大的改进,在于加入了 Super Cache 这一环节。部分页面会根据一定的规则被缓存为 SuperCache,而这个 SuperCache 实质上就是页面本身。
第二个问题就是很多windows主机不支持 mod_rewrite 或 IIS Rewrite,比如我的主机空间就是这样,那就通过一个变通的方法。前提条件是服务器提供商的控制面板有自定义404错误页面的选项。这个大部分的主机是支持的。

现在你只需创建一个404错误页面,并且写入下列4行代码即可简单优雅的实现无插件完美支持windows iis主机的永久固定链接的伪静态化地址格式。去掉网页地址中的index.php!

复制代码
代码如下:

<?php
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ‘:80′)+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include(’index.php’);
?>

这样即可固定REQUEST_URI和PATH_INFO参量并且包括进去index.php,剩下的将交给iis服务器完成。
具体设置步骤:
1.新建一个记事本,在里面写入上面代码,保存,连同txt格式重新命名为wp-404-handler.php。
2.上传该文件到服务器根目录,设置404自定义错误指向wp-404-handler.php。
3.进入wordpress管理后台,设置(Options)-永久链接(Permalinks),你可以任意设置静态地址后缀。
比如我设定的是/%post_id.html,实际上是利用了主机找不到比如http://www.phpstudy.net/60.html,然后自动转向wp-404-handler.php,而这个错误页面提取了传入的“60”这个日志发布的id,并将其提交给http://www.phpstudy.net/index.php。实际上在服务器端还多了相当于“页面找不到跳转到错误页”这一步骤,不过搭配WP Super Cache效果也还是很快的。

« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3