几个月后,在每个主要搜索引擎的搜索结果中,网站消失了,我终于找到了一个可能的原因。
我使用WebBug来调查服务器头。如果请求是HEAD还是GET,请查看不同之处。
头发送数据:
HEAD / HTTP/1.1
Host: www.attu.it
Connection: close
Accept: */*
User-Agent: WebBug/5.0头接收数据:
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接收到的数据:
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请求(至少这是firebug说的)。有没有可能爬虫会发送头部请求呢?如果是这样的话,为什么只有这个服务器用403来响应,而来自我所在的其他站点的其他服务器却不响应呢?
如果这很重要,.htaccess中唯一出现的行是(除非我的客户更改了它,因为他们不想让我访问他们的服务器)
AddType text/x-component .htc更新
谢谢@Ryk。FireBug和Fiddler都发送GET请求,它们得到200个(或300个)响应。不出所料。所以,我想这要么是服务器设置不好(尽管它很奇怪,因为主机来自一家拥有数百万客户的大公司),要么是他们在.htaccess中放置的东西。他们得让我查一下他们的账目。
我问题的第二部分是,这是否可能是网站没有出现在任何搜索引擎中的原因(site:www.attu.it没有给出结果)。有什么想法吗?
更新2
经过一些摆弄之后,原来是根目录中的phpMyAdmin机器人阻塞了.htaccess,这使得机器人的任何请求都会被发送回403禁止的地方。
发布于 2010-08-10 23:50:57
我建议安装Fiddler并仔细检查请求。我有时看到,页面上需要身份验证的文件夹中的图标会导致返回403。
Fiddler会给你一个好主意,你也可以尝试火狐和安装FireBug附加和检查页面的错误。
看看这个网站,我得到了一堆404的favicon.ico,但是除了这个之外,当我做一个简单的get请求时,我得到了200个OK,但是当我做了一个头,我也得到了一个403。现在开始调查。
更新:我认为这可能是Apache服务器上的配置,但不是100%确定。http://hc.apache.org/httpclient-3.x/methods/head.html
UPDATE2:阅读这个http://www.pubbs.net/200811/httpd/17210-usershttpd-how-to-reject-head-request.html使我相信您的http://www.pubbs.net/200811/httpd/17210-usershttpd-how-to-reject-head-request.html服务器可以被设置为拒绝HEAD请求。在这种情况下,它将返回一个403。
发布于 2011-09-14 08:03:51
一些管理员在httpd.conf中写入
Order deny,allow Deny from all Allow from 10.0 Order deny,allow Deny from all这个产品被“禁止”到头请求。你应该看看这个。
发布于 2013-12-16 21:35:04
我遇到了这个问题,因为我使用的是签名的URL。
每个签名URL只适用于一个方法(例如GET或HEAD)。如果要使用多个方法,则必须有多个URL。
https://stackoverflow.com/questions/3454286
复制相似问题