【发布时间】:2012-09-17 08:59:00
【问题描述】:
我们遇到了 Googlebot 尝试访问 Ajax 函数上的 URL 并由于某些 URL 编码问题而失败的问题。首先,我们有点困惑,为什么 googlebot 会尝试在 JS 脚本的 JS 函数中访问 URL。
JS代码:
ajaxFunction(siteid) {
$.get(location.protocol + '//' + location.hostname + '/ajax/?ajaxscript=detail&siteid='+ siteid, function() { ... });
}
上述函数在我们网页中包含的 JS 脚本中,当单击链接/按钮时会调用该脚本。 Googlebot 以某种方式试图直接访问上述函数生成的 URL,并由于“?”而出错。字符被 URL 编码,因此 siteid 值不会被传递。
Google 尝试访问的 URL 示例:
http://www.google.com/url?sa=t&rct=j&q=duo%2Bboots&source=web&cd=4&ved=0CDQQFjAD&url=http%3A%2F%2Fwww.MYSITE.com%2Fajax%2F%253Fajaxscript%3Ddetail%26siteid%3D1
您知道为什么 googlebot 尝试直接访问由 JS 函数生成的 URL,并且 googlebot 是否可以直接访问基于 ajax 的函数和 URL?基本上主要问题是?正在转换为 %2F,因此没有将所需的数据传递给我的脚本,这在我们的服务器错误日志中被记录为错误。
【问题讨论】: