经过几个月的搜索结果,每个主要的搜索引擎都消失后,我终于找到了一个可能的原因。HEAD请求在GET“200 ok”时收到“403禁止”?
我用WebBug来调查服务器头。查看请求是HEAD还是GET的区别。
HEAD发送的数据:
HEAD/HTTP/1.1
Host: www.attu.it
Connection: close
Accept: */*
User-Agent: WebBug/5.0
HEAD接收的数据:
HTTP/1.1 403 Forbidden
Date: Tue, 10 Aug 2010 23:01:00 GMT
Server: Apache/2.2
Connection: close
Content-Type: text/html; charset=iso-8859-1
获取发送数据:
GET/HTTP/1.1
Host: www.attu.it
Connection: close
Accept: */*
User-Agent: WebBug/5.0
GET接收到的数据:
HTTP/1.1 200 OK
Date: Tue, 10 Aug 2010 23:06:15 GMT
Server: Apache/2.2
Last-Modified: Fri, 08 Jan 2010 08:58:01 GMT
ETag: "671f91b-2d2-47ca362815840"
Accept-Ranges: bytes
Content-Length: 722
Connection: close
Content-Type: text/html
// HTML code here
现在,默认浏览器发送GET请求(至少这是什么萤火说)。抓取工具是否有可能发送HEAD请求?如果是这样,为什么只有这台服务器响应一个403,而其他网站我所需要的其他服务器不会?
在情况下,它是很重要的,目前在.htaccess中唯一的行(除非我的客户改变了它,因为他们不想让我进入他们的服务器)
AddType text/x-component .htc
UPDATE
谢谢@Ryk。 FireBug和Fiddler都发送GET请求,获得200(或300)个响应。如预期。所以我想这可能是服务器设置不当(即使主机来自拥有数百万客户端的大型公司,这很奇怪),或者它们放在.htaccess中。他们将不得不让我看看他们的账户。
我的问题的第二部分是,如果这可能是网站没有出现在任何搜索引擎的原因(网站:www.attu.it没有给出结果)。任何想法?
UPDATE 2
后一些摆弄周围,原来有phpMyAdmin的机器人阻挡在根目录中,导致从机器人的任何请求的.htaccess与禁止
这是一个服务器的错误,客户希望它修复,他们应该给你至少一些访问权限。至少,问问他们是否可以看到当前.htaccess的副本。 – 2010-08-11 00:25:48