解决WordPress伪静态URL中文跳转到404的问题

在wordpress中,可以使用url伪静态来让地址看起来更好看,也更有利于SEO。但是中文的情况比较让人头疼,每次都会跳转到404页面。

经过一阵子的度娘和谷歌之后终于找到了完美解决URL中出现中文的办法:

打开wordpress\wp-includes目录下的class-wp.php文件。替换一小段代码即可:

 

if ( isset($_SERVER['PATH_INFO']) )
                $pathinfo = $_SERVER['PATH_INFO'];
            else
                $pathinfo = '';
            $pathinfo_array = explode('?', $pathinfo);
            $pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
            $req_uri = $_SERVER['REQUEST_URI'];

替换为:

if ( isset($_SERVER['PATH_INFO']) )   
                $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'utf-8', 'GBK');   
            else  
                $pathinfo = '';   
            $pathinfo_array = explode('?', $pathinfo);   
            $pathinfo = str_replace("%", "%25", $pathinfo_array[0]);   
            $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8', 'GBK');

解决这个问题的链接:http://www.yixiqiang.com/archives/70.html

posted @ 2013-03-20 13:41  拓荒者FF  阅读(4999)  评论(0编辑  收藏  举报