wordpress中文标签无法访问的解决方法

 爱好  2年前 (2014-05-29)  7,601  8

当博客从华夏名网转移到阿里云之后,发现了不少问题,其中一个就是wordpress中文标签无法访问,出现404错误页。

原因:在Windows主机的IIS服务器下WordPress不支持中文编码法访问,由于原来在华夏名网的服务器是linux的,所以没有出现这种问题

解决方法:如果要想正常打开中文标签,就需要让WordPress能支持中文的编码,也就是UTF-8和GBK编码。

下面分享下我的解决过程;

  • 方法一:这也是百度最多的解决办法之一(但是对我没有作用,我根本找不到这两句代码)
打开wp-include中的class-wo.php文件,找到第1577行和第158行代码进行修改。
第153行原代码: $pathinfo = $_SERVER['PATH_INFO']; 替换为: $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
第158行原代码: $req_uri = $_SERVER['REQUEST_URI']; 替换为: $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");
修改好了之后,保存,然后将保存后的classes.php文件上传到服务器并覆盖原文件即可。
首先打开Wordpress站点下wp-includes目录里的class-wp.php文件。操作之前复制备份一个是好的习惯。
搜索$_SERVER['REQUEST_URI']或直接定位157行。用“//”注释掉

//list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );注释掉这一行,添加下面两行代码
$Temp_REQUEST_URI= mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");
list( $req_uri ) = explode( '?', $Temp_REQUEST_URI );
搜索$_SERVER['PATH_INFO']或直接定位到153行。用“//”注释掉此行:

//$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';注释掉这一行,添加下面两行代码
$Temp_PATH_INFO = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
$pathinfo = isset( $Temp_PATH_INFO ) ? $Temp_PATH_INFO : '';
  • 方法三:最后我用了一个插件解决了我的问题(是我人品太差么?)
插件名称:Chinese Tag Names
插件作者:Coconut
插件页面:http://nutsland.cn/blog/archives/177.html
当前版本:1.1
适用于Wordpress版本:2.0.2+
下载地址:http://wordpress.org/extend/plugins/chinese-tag-names/
插件说明
在Wordpress中设定了固定链接之后,有时(多见于Win主机)会出现中文标签(Tag)的固定链接不能访问的问题。
即 http://example.com/tag/中文 不能访问,而 http://example.com/?tag=中文 可以访问。
可以通过修改 class-wp.php 的方式来解决,但是每次Wordpress升级都要重新修改一次,比较麻烦。
本插件提供了便捷的解决方法。
现在支持所有包含中文的固定链接了,包括标签、分类、作者存档页面、文章名等,例如:
http://example.com/tag/中文标签
http://example.com/category/中文分类
http://example.com/archives/中文文章名
http://example.com/archives/author/中文作者名
http://example.com/中文页面名
最后总结,不管用那种方法,只要能解决自己的问题就好,不必纠结过程,重在目的。我承认是我人品差了。
也希望大家能早日找到合适自己的解决方法

引用源文:猛戳这里

wordpress中文标签无法访问的解决方法的更多相关文章

  1. v$lock 视图访问慢解决方法

    V$ 视图访问慢 --解决方法 分析:可能是有数据字典统计信息过久,造成. exec dbms_stats.gather_fixed_objects_stats; ------收集所有数据字典的fix ...

  2. SQL Server不能通过外部IP访问,解决方法

    SQL Server不能通过外部IP访问,解决方法   版本:SQL server 2008 express with tools   打开配置管理器,开启 TCP,右键属性设置TCP端口:   设置 ...

  3. 远程连接MySQL,防火墙阻止访问,解决方法

    远程连接MySQL,防火墙阻止访问,解决方法   xp/2003添加防火墙例外端口 打开防火墙,选择例外选项卡,添加端口 名称:mysqlport 端口号:3306 选中TCP win7添加防火墙例外 ...

  4. WordPress慢的八种解决方法(用排查法解决)

    WordPress的打开速度慢会影响到用户体验和关键词的稳定排名,WordPress为什么加载慢呢?其实很简单的,就是WordPress水土不服,用WordPress的大家都知道,WordPress是 ...

  5. [转]eclipse启动tomcat无法访问的解决方法

    这篇文章介绍了eclipse启动tomcat无法访问的解决方法,有需要的朋友可以参考一下 症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080 ...

  6. IIS7授权错误:“无法验证对路径的访问”的解决方法

    解决方法: iis7 无法验证对路径的访问 1.打开IIS 7管理器,鼠标单击定位到出现了这个错误的网站. 2.在IIS 7管理器的右边,选择“基本设置”. 3.在弹出的“编辑网站”对话框中,单击“连 ...

  7. 【spring】静态资源的访问受限解决方法

    前言 我们知道在整合spring mvc框架的时候需要在web.xml中配置一个servlet 代码如下 <!--spring mvc 的DispatcherServlet--> < ...

  8. 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\4b49f661\23a749fc\App_Web_default.aspx.cdcab7d2.zii776dc.dll”--“拒绝访问。 ” 解决方法:

    解决方法: 找到C:\Windows\Temp 目录,在其属性->安全->编辑->添加 IIS_IUSERS用户 赋予"完全控制"权限 ...注意:这可能不是最佳 ...

  9. 【转】NuGet.org 无法访问的解决方法

    打开Nuget,发现又出问题了:未能解析此远程名称:’nuget.org’. 在浏览器中输入 http://nuget.org 会发现是无法打开的. 在cmd命令行里输入: nslookup nuge ...

随机推荐

  1. python False

    None 空字符串 空列表 空元组 空字典 false为False

  2. UIScrollView的滚动位置设置

    1.如果手动设置滚动异常,可以从最小值到最大值,极限调试.最小值取一个,中间值取n个,最大值取一个.

  3. spring命名空间不需要版本号

    为什么dubbo启动没有问题? 这篇blog源于一个疑问: 我们公司使了阿里的dubbo,但是阿里的开源网站http://code.alibabatech.com,挂掉有好几个月了,为什么我们的应用启 ...

  4. C# Community Projects

    Community Supported C# Drivers See the officially supported MongoDB C# driver mongodb-csharp driver ...

  5. Shell之while循环

    While循环的格式: while expression do command command ... done 1.计数器控制的while循环:主要用于已经准确知道要输入的数据和字符串的数目. 例子 ...

  6. MySQL数据很大的时候

    众所周知,mysql在数据量很大的时候查询的效率是很低的,因为假如你需要 OFFSET 100000 LIMIT 5 这样的数据,数据库就需要跳过前100000条数据,才能返回给你你需要的5条数据.由 ...

  7. PHP程序员如何突破成长瓶颈

    PHP因为简单而使用,但不能因为它的简单而限制我们成长!文章给PHP工程师突破成长瓶颈提了一些建议,希望PHPer能够突破自己,有更好的发展. AD: 作为Web开发中应用最广泛的语言之一,PHP有着 ...

  8. linux ar命令

    当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量.这里介绍命令ar,用来对库操作. 1.ar基本用法 ar ...

  9. MultiSelectComboBox(一)

    1. MultiSelectComboBox.xaml <UserControl x:Class="MultiSelectComboBox.MultiSelectComboBox&qu ...

  10. 周赛-DZY Loves Chessboard 分类: 比赛 搜索 2015-08-08 15:48 4人阅读 评论(0) 收藏

    DZY Loves Chessboard time limit per test 1 second memory limit per test 256 megabytes input standard ...