今天加入了模组加入Tag,但是只要Tag是中文的,启用rewrite之后,均不能正常显示,全部报404错误。经过长时间的跟踪终于发现问题了。以下以http://xuplus.com/tag/合肥 为例。

wp-includesclasses.php文件61行附近
             $req_uri = str_replace($pathinfo, ”, $req_uri);

这行代码主要作用是将$reg_uri赋值/tag,但运行时 pathinfo为 合肥 req_url为/tag/%E5%90%88%E8%82%A5,这样并不能完成替换操作给$reg_uri赋值/tag。替换成
             $req_uri = urldecode(str_replace(urlencode($pathinfo), ”, str_replace(‘/’,'%2F’,$req_uri)));
             //Modified By XuYong 修正url中有中文字符的问题$pathinfo被urldecode了,导致不能正常工作的问题

即可正常访问。