Home > 技术那瓷碗饭 > WordPress3.8.1中文Tags、中文地址404错误解决办法

WordPress3.8.1中文Tags、中文地址404错误解决办法

哈。要不是巧合我还想不着打开自己的博客。试了多次密码进了后台,发现Wordpress已经更新到3.8.1版本了。前几次版本更新我都忍着没有行动,如今再不更新就说不过去了。更新很简单,点一下鼠标然后抽根烟或喝杯咖啡的功夫可以自动更新完成。

WordPress更新到3.8.1版本后,一如既往地出现了中文地址和中文Tags标签打不开的问题。因为版本跨度大内核文件大换血,博客里老的中文链接无法打开的解决办法已不适用了。 研究了一会发现下面办法可以解决Wordpress更新到3.8.1后出现的中文地址无法打开,中文Tags无法打开的问题。

首先打开Wordpress站点下wp-includes目录里的class-wp.php文件。操作之前复制备份一个是好的习惯。我是用EditPlus编辑的。另外以下操作都是在源文件没有被修改下进行的,从后朝前修改也是为了确保行数是原始文件的行数,另外咱们要记下,这个文件是ANSI编码。

搜索$_SERVER['REQUEST_URI']或直接定位157行。用“//”注释掉,一行便三行后的结果:

//list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );
$Temp_REQUEST_URI= mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");
list( $req_uri ) = explode( '?', $Temp_REQUEST_URI );

完成

搜索$_SERVER['PATH_INFO']或直接定位到153行。用“//”注释掉此行,一行变成三行后:

//$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';
$Temp_PATH_INFO = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
$pathinfo = isset( $Temp_PATH_INFO ) ? $Temp_PATH_INFO : '';

完成

  1. Manitou
    March 23rd, 2014 at 21:52 | #1

    我跟你的方法去做, 但不能解決問題, 請問還有甚麼地方要注意?

    P.S. 你的評論背景很漂亮

  2. March 18th, 2014 at 14:52 | #2

    @股吧拉菲
    咱们版本不一样吧?我的是3.8.1

  3. March 17th, 2014 at 21:58 | #3

    搜索了很多都是老版的,只有你这个新的,给32个赞!

  4. March 16th, 2014 at 15:11 | #4

    定位到行,不要用搜索,我是3.8版本也解决了@股吧拉菲

  5. March 16th, 2014 at 15:10 | #5

    不错,原来我用插件解决,后来发现tag分页也会出现404,今天用了你的方法,不用插件,解决问题,谢。

  6. March 10th, 2014 at 22:33 | #6

    搜索$_SERVER['PATH_INFO']后出来的代码是这个 和你的不一样的 帮忙啊
    $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], ‘UTF-8′, ‘GBK’);
    list( $pathinfo ) = explode( ‘?’, $pathinfo );
    $pathinfo = str_replace( “%”, “%25″, $pathinfo );

  1. No trackbacks yet.
www.20060909.com www.txfLange.com www.zhishichang.com