WordPress中文URL完美支持设置指南
WordPress启用固定链接(%postname%)后,访问含中文字符的TAG链接时常遭遇404错误,直接影响整站可用性与用户体验。根源在于字符编码不匹配:WordPress内部采用UTF-8编码,而URL请求传递的中文字符常为GBK编码,系统用GBK字符串检索文章标题自然无结果。解决方案明确——将GBK字符串转码为UTF-8,问题即可消除。
让WordPress支持中文URL,无需安装插件,手动修改两行代码即可生效。
具体操作步骤如下:
打开 wp-includes 目录下的 class-wp.php 文件,定位到 parse_request 函数。
1. 将这行代码:
$pathinfo = $_SERVER['PATH_INFO'];
替换为:
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK');
2. 将这行代码:
$req_uri = $_SERVER['REQUEST_URI'];
替换为:
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK');
需要留意的是,WordPress 4.8 和 4.9.8 版本在此处的代码结构稍有不同,但转码逻辑完全一致。下面附上修改后的代码截图,方便对照操作。
修改完毕后,WordPress可以正确解析URL中携带的GBK编码中文字符,中文TAG、中文分类链接均不再返回404,用户浏览体验恢复顺畅。

