解决wordpress中文标签404

马克江山 90 0

   最近更换服务器发现一个头疼的问题,点击文章里的中文标签/内链就显示404,郁闷,经过搜索才发现是win系统造成的,百度搜了很多关于wordpress用户都遇到这种问题,也有通过插件来解决此类问题,后面发现还有部分不能完全解决,后面还是动手修改代码来的实在些。
   wordpress站点做了伪静态,并定义了固定连接的格式后,会出现中文标签404的问题,其它都能正常访问,就是在wordpress中文tag标签打开是404页面错误。
   由于wordpress是外国的产品,所以并没有考虑中文标签的兼容性问题,不少朋友都会遇到中文标签404的问题,下面我来分享一下解决这种蛋疼的问题方法。
   解决 WordPress 无法打开中文标签链接的文章(服务器需要支持 UTF-8,不再需要修改文件支持中文链接。)
首先找到wordpresswp-includes目录下的class-wp.php文件,进行如下修改即可完美解决

下面以WordPress 5.2.2为例

找到 wp-includes/class-wp.php 167 行:

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

修改为

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

找到 wp-includes/class-wp.php 171 行:

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

修改为

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

 

修改完这两处保存刷新就可以了,如果您遇到了同样问题还未得到解决可在下方留言!

不同版本代码放置位置不一样!

 

发表评论 取消回复
表情 图片 链接 代码

分享