最近,有很长一段时间忙于工作。撰写blog自然也就放到了一边,偶然间回来一看,晕!wordpress都已经更新到2.6.3了。正好打算把blog迁移一下,顺便升级到最新版本。
迁移过程中,主要设计的问题是永久链接的问提。以往空间的配置是apache+PHP,现在的是IIS+php,URL Rewite自然是个问题。以下为我的参数配置,以供大家参考。
首先介绍三个 Rewrite 插件。
- URL Rewriting for Wordpress
- WordPress URL Rewrite
- Rewrite
1,2插件为wordpress iis rewrite的便捷插件,直接下载下来,安装配置一下(解压缩dll插件,然后ISAPI筛选器,添加上,就可以了),不用写规则就可使用,但只针对wordpress。第三个插件为公用插件,需要写规则。接下来详细介绍。
1.URL Rewriting for Wordpress 好像是国内一高人开发的。插件说明地址 http://www.deanlee.cn/wordpress/url-rewriting-for-wordpress-under-iis/
我尝试了一下,不起作用。在网上搜索了一下,好像是最近失效的,没有细研究。
2.WordPress URL Rewrite 插件说明地址http://www.binaryfortress.com/wordpress-url-rewrite/
说明下缺点:
- 只支持目录格式,不支持后缀为.html格式
- 不支持 中文tag
安装方法:
- 解压缩,并加载到服务器ISAPI。配置ini文件,英文很通俗的,第一个允许,第二个不允许。
- 需要注意的一点,(网上搜到没有验证)dll与ini文件所在的目录加上IIS_WPG组的权限。
由于中文tag所以需要第三插件Rwrite,这个似乎是Diz破解ISAPI Rwrite 1版的。附件可以在网上找到,本文结束付下载地址。
3.Rewrite
安装方法:直接解压缩(目录自己安排,我的是单独建目录,放在php文件夹下)。httpd.ini与httpd.parse.errors放到blog根目录下,单独配置。httpd.ini要IIS_WPG读权限httpd.parse.errors可写。(据说Rewrite.dll目录要everyone权限,否则cpu可能会飙升至100,我没验证,没问题。)
tag 的httpd.ini配置 [code]RewriteRule /blog/tag/(.*) /blog/index\.php\?tag=$1[/code]
因为我以前的链接地址为.html结尾的,所以有在下面加上了一条。
[code]RewriteRule /blog/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([0-9]+).html /blog/index\.php\?p=$4[/code]
08-12-15补充:
这一待续,一下子待续了一个月,不好意思,最近工作太忙了。
参照以上步骤,基本就OK了,接下来是附件下载,呵呵。
08-12-16重要补充:
wordpress升级到2.7,在IIS+php配置下tag显示…pluggable.php 864行错误。中文,英文都显示错误,sample tag已自动升级到1.58 。禁用Sample Tag,错误依然存在,怀疑是Rewrite与2.7版的问题,删除RewriteRule /blog/tag/(.*) /blog/index\.php\?tag=$1配置信息,英文正常,中文显示404错误。启动sample tag,问题依然。查了查资料,原来是编码问题。
打开wp-includes/classes.php文件。把第153行“$pathinfo = $_SERVER[‘PATH_INFO’];”替换成“$pathinfo = mb_convert_encoding($_SERVER[‘PATH_INFO’],”UTF-8″,”GBK”);” 第159行“$req_uri = $_SERVER[‘REQUEST_URI’];”替换成“$req_uri = mb_convert_encoding($_SERVER[‘REQUEST_URI’],”UTF-8″,”GBK”);”问题解决le,还不用ReWrite 爽!
(详:WordPress 2.7升级之pluggable.php与ReWrite 冲突)
转载请注明:xilo blog » wordpress 2.7升级