wordpress文章里的中文内链就显示404

网站建设 2022-07-27 08:13www.1681989.com免费网站
也是最近才发现,点击文章里的中文内链就显示404,感到很郁闷,以为是主题文件 functions.php 的问题,一排查,不是,百度搜,很多wordpress用户都遇到这种问题,网上的教程很多了,我就借花献佛,拿出来分享下教程。 wordpress站点做了伪静态,并定义了固定连接的格式后,会出现中文标签404的问题,其它都正常,就是在wordpress中文tag标签打开是404页面错误。 由于wordpress是外国的产品,所以并没有考虑中文标签的兼容性问题,不少朋友都会遇到中文标签 […]



也是最近才发现,点击文章里的中文内链就显示404,感到很郁闷,以为是主题文件functions.php的问题,一排查,不是,百度搜,很多wordpress用户都遇到这种问题,网上的教程很多了,我就借花献佛,拿出来分享下教程。
wordpress站点做了伪静态,并定义了固定连接的格式后,会出现中文标签404的问题,其它都正常,就是在wordpress中文tag标签打开是404页面错误。
由于wordpress是外国的产品,所以并没有考虑中文标签的兼容性问题,不少朋友都会遇到中文标签404的问题,下面我来分享一下解决这种蛋疼的问题方法。
解决 WordPress 无法打开中文标签链接的文章(服务器需要支持 UTF-8,不再需要修改文件支持中文链接。)
找到wordpress的wp-cludes目录下的class-wp.php文件,进行如下修改即可完美解决。
wp-cludes/class-wp.php (WordPress4.8.1在178行)

  1. $pathfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';

修改为

  1. $pathfo = isset( $_SERVER['PATH_INFO'] ) ? mb_convert_encodg($_SERVER['PATH_INFO'], 'utf-8', 'GBK') : '';

wp-cludes/class-wp.php (WordPress4.8.1在182行)

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

修改为

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


Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by