wordpress主题|WordPress中文Tags、中文地址404错误解决办法

更新时间:2020-03-08    来源:WordPress    手机版     字体:

【www.bbyears.com--WordPress】


下面我们以WordPress3.8.1为例子

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 : "";

完成了,如果是单页没有分页肯定就好了,但如果有分页又出现404了

还有一个下一页“»”无法打开,正如没有风在《解决wp-pagenavi不支持中文Tags分页问题》说的:

楼主,非常感谢您这篇文章。按照您的指点,修改了一下,发现确实解决了一部分问题。数字翻页部分已经没有问题了。但是数字后面的“》” ,这个链接,还是不行。如你文中提高的“网站优化”tag。1 2 3 4 翻页没问题。“》”翻页就不行了。请楼主解决并告知我一下,感激不尽。

“»”是当前页的下一页标识,让“»”Tags中文分页链接不再乱码,需要修改 WordPress的内置函数next_posts(),它存在于Wp-includes文件夹的link-template.php。搜索下面代码进行定位:


$output = esc_url( get_next_posts_page_link( $max_page ) );

把它替换成:


$output = esc_url( mb_convert_encoding(get_next_posts_page_link( $max_page ), "UTF-8", "GBK") );
wp-pagenavi的Tags分页地址乱码 »链接地址乱码
wp-pagenavi的Tags分页“»”链接地址乱码问题没了

本文来源:http://www.bbyears.com/wangyezhizuo/85924.html