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

博客是windows主机的,这个确实可以做到为静态,但Feed不可用,希望知道如何解决的朋友告诉个一下

其实最好的方法是用Linux主机

等这个主机到期了,我准备换个Linux的,就不会这么麻烦了

搭建好了博客,其实也已经考虑好了以后换其它主机的退路。所以还是很保守的暂时选择了用“域名/index.php/post_id.html”,比如域名/post_id.html作为博客的永久链接地址(Permalinks)。

为了去掉wordpress博客文章连接地址中嵌入的index.php格式,在网上一直苦苦搜索,知道有个方法可以用ISAPI_Rewrite组件实现类似linux主机apache环境的mod_rewrite的url rewrite地址重写功能,但必须要拥有服务器上运行该组件的权限,作罢。以后也就没进一步尝试其它方法。先有个伪静态地址格式也不错了。

前天尝试用英文关键词搜索,果然,对于一个代码盲来说。依赖一定的网络搜索和解决问题的能力。终于找到了win iis虚拟主机不需任何wordpress插件,不需要第三方组件完美的wordpress伪静态设置方法。当然,前提条件是服务器提供商的控制面板有自定义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,剩下的将交给wordpress完成任务(说实话,这参数定义代码偶也不清楚,依葫芦画瓢即可)。

具体设置步骤:
1.新建一个记事本,在里面写入上面代码,保存,连同txt格式重新命名为wp-404-handler.php。
2.设置404自定义错误指向wp-404-handler.php,一般来说,绝大多数服务器控制面板均提供该选项。
3.进入wordpress管理后台,设置(Options)-永久链接(Permalinks),你就当自己的主机是linux主机使好了,任意、随便设置自己喜欢的伪静态地址格式及静态地址后缀。
4.Enjoy! :lol:

推荐链接地址层次不要太深,并且伪静态化地址加上html/htm,不过也有人推荐不要加上伪静态后缀,因为那样搜索引擎可能会认为那种地址是一个分类目录,而不是一个具体的网页,从而获得更高的搜索排名权重,现在wordpress个人博客也比较流行那种伪静态格式。

不管怎样,你成功去掉了index.php!最后感谢英文作者einar 提供的天才设置方法!

7 Comments are ready?

  1. 我知道,但是…

    睡到自然醒blog said on: 2009年12月20日 11:43 下午
  2. 以后会经常来的!

    said on: 2010年01月18日 1:59 上午
  3. 网站做的很漂亮哦!~文章写的也很好,我是初学者,刚刚开始做网站,还请给予指导。我会经常关注你的,希望你的关注下我的网站好吗?

    淘宝购物返现 said on: 2010年01月18日 2:10 下午
  4. 第二次来了,留个言~祝博主博客人气高高!!

    淘宝购物返现 said on: 2010年01月24日 12:39 下午
  5. 刘苏到访,留个脚印…

    刘苏 said on: 2010年03月27日 3:46 下午
  6. 支持一下啊

    网站素材 said on: 2010年04月12日 2:04 下午
  7. linux下面呢??
    楼主换主机了没有?linux伪静态用什么方式最好?

    hx said on: 2010年07月29日 4:40 下午

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*

Type your comment out: