记录生活相关·分享我的最爱
« »

Windows IIS主机中wordpress永久链接伪静态的方法

wordpress

真的非常非常感谢网友“终端传媒 ”发布这篇文章!也不论原创是谁也非常感谢!
从PJblog转到wordpress平台已经有些日子了!虽然谷歌的收录一直保持增长,但是百度依然只访问我遗留的PJblog数据,自己使用的服务商说不知道URL重写(mod_rewrite),也不懂得怎么样做伪静态!
如果不是千辛万苦找到的这篇文章,恐怕我真的只能再花好几百人民币去另外购买虚拟空间了!
希望大家也能像我一样幸运吧

前提条件是服务器提供商的控制面板有自定义404错误页面的选项。

——————————

终于找到了原创的“睡到自然醒blog”的这篇比较详细的文章:

http://www.dreamfreeblog.com/wordpress-permalink-url-rewrite-windows-iis-261.html

搭建好了博客,其实也已经考虑好了以后换其它主机的退路。所以还是很保守的暂时选择了用“域名/index.php/post_id.html”,比如http://www.spaghetti4u.com/2009/net-hot/o-my-god-moko_cc-comes.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 提供的天才设置方法!

日志信息 »

该日志于2009-06-15 12:48由 意大利面 发表在意大利面的日记分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

相关日志 »

没有评论

发表评论 »

返回顶部