WordPress 在 Windows 虚拟主机上不能显示含有中的文网址,返回代码为404,这个问题一直困扰我好久。
不过,现在有一个解决办法,就是更改 /wp-includes/
目录下的 class-wp.php
文件。
不过这个办法也不是一劳永逸的,因为每次升级WordPress的时候都要取重新更改一下代码。所以,下面这些设置只是给大家参考。
class-wp.php 文件中主要修改两处
第一处:
找到
$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';
这行,修改为:
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? mb_convert_encoding($_SERVER['PATH_INFO'],'utf-8', 'GBK') : '';
第二处修改:
找到
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );
这行,修改为:
list( $req_uri ) = explode( '?', mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8','GBK') );
上面两处修改适用于windows 的 IIS 7.5 以上服务器、WordPress 4.9 以上版本。