Google网站管理员未遵循整理网址

时间:2013-06-22 12:46:05

标签: wordpress url utf-8 collation

我在Google网站管理员上有很多未关注的网页。我检查它们是因为很多网址都像http://www.mysite.net/2013/06/burn-notice-7%C3%9702-sub-espanol-online.html 正确的网址必须是http://www.mysite.net/2013/06/burn-notice-7x02-sub-espanol-online.html

我尝试发布一个很多“x”的标题,并且当我发布一个像这个标题的新系列剧集时,唯一那个奇怪的%C3%97:Burn Notice 7x02SubEspañolOnline。当x介于数字之间时出现%C3%97并且使我的帖子重复。

所以我尝试修改从latin1_swedish_ci到utf8_general_ci的数据库排序规则,但仍然是同样的事情。我也检查了我的wp-config.php并定义了('DB_CHARSET','utf8');

请,有些机构知道解决所有这些情况的任何好方法吗?如果我找到一个需要更新旧网址的解决方案,那么数据库就相当大了。

先谢谢你

1 个答案:

答案 0 :(得分:0)

您说Google正在使用的网址:

http://www.mysite.net/2013/06/burn-notice-7%C3%9702-sub-espanol-online.html 

与网址几乎相同:

http://www.mysite.net/2013/06/burn-notice-7x02-sub-espanol-online.html

因为百分比编码的字符实际上是repreesent Unicode Character 'MULTIPLICATION SIGN',而它是'×'而不是'x'。谷歌只是使用百分比编码版本是安全的。这意味着您的数据库可能没问题,因为它将URL显示为有效的UTF8。

问题可能在于您如何解释请求的URL并尝试将其与数据库匹配。 PHP应该已经将百分比编码值解码为'×',因此:

  • 有些东西破坏了字符串(例如调用非多字节安全函数,如strtolower()而不是mb_strtolower())。

  • 您的PHP代码以UTF8以外的字符集连接到数据库,请检查您的my.cnf文件在客户端部分中是否包含'default-character-set = utf8'。

    < / LI>

还是有其他一些问题。该URL看起来确实有效。