我有一个Cakephp网站,当我在Google中查找时,即使网站运行良好,它也会在说明中显示错误。
显示错误:
$status = "Location: http://mywebsite.com/" header - [internal], line ??
Controller::header() - COREcake/libs/controller/controller.php, line 742
Controller::redirect() ...
我用谷歌搜索“搜索互联网”的错误,发现几个CakePHP网站有同样的问题,他们工作正常,但他们的谷歌描述有错误。元标记在源页面中正确显示。
有人知道什么是错的吗?
我已将调试设置为零,上传了站点地图,robots.txt文件并且仍然遇到同样的问题,即使Bing和Yahoo现在也出现了同样的问题。
如果有任何身体可以给我一只非常感激的手。
答案 0 :(得分:3)
答案 1 :(得分:1)
将浏览器的UserAgent字符串设置为与GoogleBot's相同并浏览禁用Cookie的网站时会发生什么情况?如果你有任何服务器端逻辑,具体取决于cookie值或UserAgent,很可能你没有收到错误,但谷歌的爬虫是。
搜索结果是否链接到只能由登录用户访问的页面?如果您的Cake应用程序尝试根据不存在的登录用户标识查找数据,则会导致问题。
哦,设定调试零!
答案 2 :(得分:0)
我一周前就知道了。我使用第三方库进行浏览器检测,因为我不想重新邀请滚轮。当我浏览代码时,我注意到创建它的人可能会处理每个浏览器。他有一系列if-elseif陈述,但没有其他陈述。
if(IE){
do this
}
elseif(Firefox)
{
do that
}
... for all the browsers
问题发生在抓取工具访问网页时,由于条件无法找到浏览器标头,因此输出了错误消息。
解决问题我刚刚添加了一个else条件,并将每个爬虫都视为Firefox浏览器。