我在wordpress上创建了一篇文章”备案成功”,然而文章链接却打开提示404,文章的链接是“http://papasen.com/index.php/备案成功/”,但是创展第一篇文章标题为“世界,您好”,可以正常打开,其文章链接是“http://papasen.com/index.php/hello-world/”。由此我猜测wordpress的请求链接的编码处理出错。可惜我并不会php,于是在网上查了许久,终于找到解决方法。

打开网站目录,进入wp-includes文件夹,用文本文件(txt)的方式打开class-wp.php文件

第一步:

将以下代码:

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

修改为:

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

第二步:

将以下代码:

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

修改为:

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

最后保存文件就大功告成了,中文标题的文章也可以正常显示了