今 天老白是第一次使用强大的wordpress 。之前不喜欢它是因为速度太慢了 后台用户体验也不好 纯是国外的风格 不过由于本人最近爱上了php也知道wordpress强大的seo功能~所以选择了wordpress作为我的第一个博客~总有很多东西想记下来 所以就开个博客好了~博客模板也找好了~不过刚在测试WP Keyword Link 自动内链插件就发现了wordpress 中文tag似乎还是无法正常访问~ 于是我一番折腾 终于搞定了 不敢独享 提供以下几种方法供朋友们参考解决
第一种是拥有 Windows+IIS7 主机的朋友增加一条伪静态规则就可以解决
wordpress 官方已经内置了 IIS7 URL Rewrite 的支持,但对于中文用户来说,官方内置的伪静态规则不能完好的支持中文tag的问题。现在帖出一个自用的的规则,可以解决wordpress的中文tag的问题。
将下列代码加入到web目录下的web.config文件的<system.webServer>之后就可以了:
<rewrite>
<rules>
<clear />
<rule name="wordpress2.7" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
<rule name="chinese tag" stopProcessing="true">
<match url="/tag/(.*)" />
<conditions logicalGrouping="MatchAll" />
<action type="Rewrite" url="/index\.php\?tag={R:1}" />
</rule>
</rules>
</rewrite>
如果不是个人独立服务器的话 或者iis 用户的话 也写不了伪静态的虚拟主机用户的话
那么就只好修改程序咯
这个也是没有办法的事情 站长穷 很多都只有虚拟主机
当然办法还是有的 如果大家的无法去使用伪静态规则的话 那么就直接使用一下两种办法也可以解决:
一、转换编码解决 WordPress 中文 Tag 链接问题(推荐) 打开文件:wp-includes\classes.php
查找: $pathinfo = $_SERVER['PATH_INFO'];
修改为: $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], “UTF-8″, “GBK”);
再查找: $req_uri = $_SERVER['REQUEST_URI'];
修改为: $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], “UTF-8″, “GBK”); 保存,上传,问题解决。
二、禁止 Tag 伪静态解决 WordPress 中文 Tag 链接问题
打开文件:wp-includes/rewrite.php 查找: function get_tag_permastruct() { 修改这个函数中的: if (empty($this->permalink_structure)) { 为: if (!empty($this->permalink_structure)) { 完成。
by the way! 老白用的是第一种 完美解决了 这个问题~希望对大家有帮助~
更多请访问 http://www.laobai.cn