WP教程与插件

WordPress中文tag标签出现404解决方案

本站提供企业建站、网站托管、AAA信用认证、企业地图标注、软件著作权登记、百度百科创建与维护等服务,如有需要请扫码上方微信联系在线人工客服

WordPress搭建的博客或网站常出现一个问题就是中文tag链接不存在,google管理员工具提示抓取404错误,特别是Windows主机常出现中文标签链接抓取错误,中文标签不能正常显示;或者中文标签能够正常显示,但是点击链接后即出现404错误,给用户带来非常大的不便,极大降低了网站的友好性。

打开 WP-include/classes.php(3.1之前版本)或WP-include/class-wp.php(3.1+之后版本,下文称新版),然后在最新版WORDPRESS系统里面,里面搜索找到:

然后分别利用下面两句替换即可;

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO">, 'UTF-8', 'GBK');

$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI">, 'UTF-8', 'GBK');

经本人亲测,本方法可用,新版本的语句与以上可能有出入,但是方法基本相同的,将其中的相应语句替换即可。

=====================================================================================

部分版本通过上述修改过后会出现以下两种情况;

1、出站链接即跳转到第三方网站的链接无法正常跳转,而出现404报错;

2、站内搜索无法使用;

针对这个问题,我们测试发现以下两段修改替换代码可以完美解决此问题,在这里以wordpress最新版本为例;

找到下面这行代码:

$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] :

将其修改为:

$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? mb_convert_encoding($_SERVER['PATH_INFO'], 'utf-8', 'GBK') : '';

再找到如下代码——就在上一行附近,各种版本有所不同,大概在160~190行之间。

list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );

将代码替换为:

list( $req_uri ) = explode( '?', mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8', 'GBK') );

这里用到了PHP的mb_convert_encoding函数,其实就是转码。把UTF8转为GBK。在显示出来,语法如下:
mb_convert_encoding($filename, "GB2312", "UTF-8");//将utf-8 格式的filename的转 gb2312

需要注意的是,这个需要PHP的 mbstring扩展。所以,如果你修改后报错,记得加载这个扩展。

当前文章链接:https://www.diebaosoft.com/10613.html
【友情提示:】
1、[焦点热议]及其子栏目内容为网络转载,其它栏目内容系作者个人原创文章观点,不代表除作者外的任何第三方观点赞同或支持;
2、「♚付涛纪实阁♚」原创文章均为本人工作、学习过程中重点事项点的记录,便于日后面对相同问题时候的复盘总结,同时原创内容遵循创作共用版权 CC 4.0 BY-SA 协议,转载请附上原文出处链接及声明,否则默认视为侵权。
3、如本站个人观点有涉及不妥的地方,可联系【QQ:860227477】,提供合理合法依据,可无偿给予修改或删除;若文内明确指转载来源于权威渠道,若需删除本站内容,可在处理完权威渠道来源信息后,第一时间联系本站给予无条件删除。
4、同时针对站内所有来自于【精品软件共享】及其子栏目所分享的软件均为网络收集,请用户下载后24小时内删除,否则引起的争议由使用者承担,与本站无关;
5、针对本站内容若有异义,亦可直接与【法律顾问:易兴俊,律师联系电话:13825799821】直接联系沟通;

抱歉,评论已关闭!