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

时间:2022-06-01 20:57:28

对于伪静态的问题,相信用 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.zzvips.com/60.html,然后自动转向wp-404-handler.php,而这个错误页面提取了传入的“60”这个日志发布的id,并将其提交给http://www.zzvips.com/。实际上在服务器端还多了相当于“页面找不到跳转到错误页”这一步骤,不过搭配WP Super Cache效果也还是很快的。