:::: 菜单 ::::

wimp下wordpress永久链接

前不久又从lamp换成wimp(windows2k3+iis6+mysql5.2+php5.2),wordpress丧失了两个重要功能:
一个是永久链接(静态化),一个是邮件发送。

现在刚刚完美解决了永久链接的问题,分享方法。
(所谓永久链接(permalink),就是像http://www.flashj.cn/wp/wimp-wordpress-permalink.html这样的格式)

因为windows下不支持.htaccess,所以要想rewrite,需要下载一个ISAPI_Rewrite组件来实现rewrite。我试过,个人感觉效果并不理想。

网上看到一则巧妙的配合404页面实现永久链接的方法,嫁接过来感觉还不错。
原理就是:写一个404.php文件,把请求转到wordpress的index.php

现在普遍流传的一个版本是:

1.创建一个PHP文件,内容如下:

保存为404.php
2.将此404.php文件放到wordpress根目录下
3.设置IIS的404页面到wordpress根目录下的404.php
4.到wordpress管理后台开启permalink

也就是说404.php起到了rewrite的作用。

不过在实施的时候我遇到两个问题:
1.子目录
经常看我博客的朋友应该知道,我的域名flashj.cn,引导页是www.flashj.cn,而我真正的wordpress博客程序有两个,分别在www.flashj.cn/wpwww.flashj.cn/personalblog两个目录中,所以不能像一些独立站点的朋友那样直接设置站点的404文件。
2.中文乱码
因为中文WIN2k3上IIS6试用的是GBK编码,而wordpress是UTF-8编码的,所以在永久链接中存在的中文字符,会使wordpress无法识别。

经过我的“改良”,现在已经成功实现静态化,方法如下:

1.php.ini开启extension=php_mbstring.dll的支持(一般都开的)

2.写这么一个404.php

只是在网上普遍流传的版本上加上中文转码,把IIS的GBK转成wordpress需要的UTF8。

3.将此404.php文件放到/wp和/personal目录下(两个wordpress目录各一个)

4.IIS中,子目录创建应用程序:
打开IIS管理器,切到flashj.cn站点,把子目录/wp和/personalblog创建应用程序。
例如:打开”站点/wp”这个子目录的属性,在“目录”选项卡中下方的“应用程序设置”区域点“创建”应用程序。
这样子目录已经可以设置独立的错误页面了。

5.设置IIS的404页面:
接着第四步,切换到“自定义错误”选项卡下设置404页面。
这里的要点是,修改404的设置为:
消息类型为URL
URL为/子目录名/404.php(如我的是/wp/404.php)

6.到wordpress管理后台开启permalink

7.在本文末尾留言冒个泡吧,庆祝成功

我继续去看看邮件功能要怎么搞……

延伸阅读


  1. 不错。迄今看到总结最全面的,站长有心了。感谢!