这几天通过Google网站管理员工具看了一下这个博客的抓取情况,不看不知道,一看吓一跳。就那么几天就出现200多个404错误页面,点进去一看,都是因为中文标签的问题。
中文标签不能正常显示,中文Tag在URL中显示乱码。我以为仅仅是网站抓取的错误,然而我在首页点下中文tag,点进去都是提示404错误,真无语。
于是就去网上查了下资料,可以通过以下方式来解决:(本人亲测可用)
主要是通过转换编码的方法,它的主要原理是,IIS会将PathInfo中的UTF-8转换成GBK,而QueryString中就不会转换,故而为了使用Permalink,采用以下方法:
以前的wordpress版本是修改网站根目录的wp-includes\classes.php文件,但是3.1版本没这个文件了,新版本的wp文件中名称被改为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”);
不过这种方式有个局限就是只对Windows主机、且必须是Windows下的IIS主机有效。因为本人的主机就是windows主机,所以解决了。
楼主,能教教我你的留言评论下方怎么实现用微博账号登陆的吗?
@网资官方网站 很简单,装一个新浪连接插件,在插件里搜索weibo就行。
@admin 谢谢啊。 😛