我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

我按Google的说明,上传了google的html文件到网站的跟目录,但就是无法通过验证,报错是:我们检测到您的 404(找不到文件)错误页在标头中返回了 200 (成功) 状态。
从说明上来看,他应该是也查我网站的404页面,而我的404页面是返回了200,而不是404。于是我随便打了一下一个错误的页面,发现,返回确实是200。那么我是不是把这个404页面加一个header 404就可以了呢? 是的:
只在要404页面的头部加上:header("HTTP/1.0 404 Not Found");就可以了!
这样,验证就通过了! 但是,我这个404页面其实不是单纯的404页面,我还想让Google收录呢,而如果返回404,Google就不收录了。不能为了验证这个,我就不作200了,那么怎么呢?
我想了一下,Google如果过来访问我的404,他的user agent一定不一样,于是,我在服务器端把所有访问的user agent 都记录一下,发现了Google在作这个验证时,共访问我404页面3次,而且三次的uset agent 都是不一样的,分别是以下:
Google-Sitemaps/1.0
Google-Site-Verification/1.0
Mozilla/3.0 (compatible; Indy Library)

正常的Google爬虫是不是用这三个user agent的,从字面上来看,一个是google验证的,一个是google sitemap的,另一个应该是一个开源的什么东西!
所以,在404的开头如果判断一下user agent,如果是三个,就返回404,否则全是200就行了:
<?php
$googleArray = array(
'Google-Sitemaps/1.0',
'Google-Site-Verification/1.0',
'Mozilla/3.0 (compatible; Indy Library)'
);
if(in_array($_SERVER['HTTP_USER_AGENT'], $googleArray)){
header("HTTP/1.0 404 Not Found");
} else{
header("HTTP/1.0 200 OK");
}
?>

OK,这样,验证就通过了!但这样,说实在的不太好,404就应该是返回404,但有时有别的用处,也是没有办法的事! 只能这样了!

免责声明:本站内容(文字信息+图片素材)来源于互联网公开数据整理或转载,仅用于学习参考,如有侵权问题,请及时联系本站删除,我们将在5个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)

我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

132-7207-3477

上班时间

周一到周五

二维码
线