波斯码BOSSMA Information Technology

IIS下使用wordpress中文tag永久链接插件

发布时间:2010年12月14日 / 分类:PHP, WordPress / 次浏览 / 评论

在IIS下使用WordPress的永久链接,可以采用一个免费的ISAPI组件:WordPress URL Rewrite。只要指定需要Rewrite的目录,不需要再编写Rewrite规则。

关于这个ISAPI的使用请参考:
http://www.asgone.net/wordpress-url-rewrite-instead-of-404/
http://www.steveluo.name/wordpress-url-rewrite-isapi_rewrite/
我没有使用上边文章中提到的:ISAPI_Rewrite。

因为IIS下中文编码的问题,中文tag的永久链接发生404错误,一些朋友提供了修改代码进行转码的方法。

参考那些解决方案,我写了一个插件,以避免对wordpress核心程序的修改,方便以后升级及迁移。

点击这里下载

已经支持WordPress 3.1,感谢“旷达博客”的提醒,请更新插件。

代码很简单,只有两个函数。

这样就可以解决大部分的中文tag问题,但是仍旧有一些中文tag不能正确识别。

通过跟踪SQL语句,发现tag被转换成了其它的字符串,比如“mysql乱码”转成了“mysqlac”。

我尝试使用了多种转码方法,iconv、mb_convert_encoding,还有phpe.net作者以前写过的一个encoding类,均不能解决,

所以怀疑是IIS编码或者WordPress解析出了问题。

2010-12-17:部分中文不能解析的问题已经解决,原因是wordpress中preg_match匹配中文出错。

如果你有什么问题,欢迎留言。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯码,原文地址《IIS下使用wordpress中文tag永久链接插件

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

目前有22 条评论

  1. bossma 10楼:

    @曹
    已经升级到新版本!谢谢关注!

  2. 9楼:

    现在对3.1彻底失效了。建议看看

  3. dae 8楼:

    bossma :我的那个也是,直接把IIS改为32位运行,测试正常。x64好多运行环境和32位都不一样,需要安装不同的软件。

    额~~~知道问题在哪里了~~~
    使用WordPress URL Rewrite 必须修改PHP.INI设置~~
    话说能留个QQ什么的联系方式么?

  4. dae 7楼:

    不知道为什么,不知道是X64下,加载了WordPress URL Rewrite X64不使用固定连接都打开失败~~唉·~

    • 我的那个也是,直接把IIS改为32位运行,测试正常。x64好多运行环境和32位都不一样,需要安装不同的软件。

  5. bossma 6楼:

    @没有风
    恩 目前不能使用.html的格式,只能重写为目录。
    在IIS上使用不能发挥WordPress全部的功能,我已经转到linux+nginx上了。

  6. 没有风 5楼:

    @bossma
    非常感谢你,我使用WordPress URL Rewrite这个插件可以正常访问了,但是我发现这个插件好像不能使用类似%postname%.html形式的固定连接?我用的是最新版本1.1,情况是否如此呢?

  7. bossma 4楼:

    @没有风
    我在IIS6上测试通过,启用这个插件,同时需要安装WordPress URL Rewrite

  8. 没有风 地板:

    我安装您这个插件,为什么还是不能访问?请帮助我看一下。网址就是上面的,tag是哈哈,如果方便的话,能不能加qq或msn联系一下。这样解决方便。

发表评论