wordpress中文tag中文URL产生404错误解决方案

一、中文URL 这个问题主要表现为,在默认情况下,Wordpress对于形如这样的链接(链接1):
www.phpcode8.com/tag/中文
不能正常访问,会产生404或500错误,或者其他的错误。 而对于这样的链接(链接2):
www.phpcode8.com/?tag=中文
WordPress就能够正确解析。 于是解决方案就来了: IIS会将PathInfo中的UTF-8转换成GBK,而QueryString中就不会转换,故而为了使用Permalink,采用以下方法: 打开 wp-includes/classes-wp.php文件,在第149行左右(wordpress版本3.2.1)
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”);
这样就解决了。。。 复制到文件中注意替换标点符号 二、伪静态 第一步、新建一个记事本,在里面写入下面代码保存为txt格式,重新命名为404.php,上传到网站根目录
代码:
第二步、到你的虚拟主机控制面板,设置404自定义错误指向404.php 第三步、进入 WordPress管理后台,点击设置(Options),点击固定链接(Permalinks) 设置为 /%post_id%.html 好了,伪静态就做好了。。。不要再后悔选择Windows了,总会有解决方案的哈!!

转载于:https://www.cnblogs.com/phpcode/archive/2012/02/29/2522706.html

你可能感兴趣的:(wordpress中文tag中文URL产生404错误解决方案)