3

几周前更改服务器上的目录结构后,我从 facebook 机器人那里收到了很多 403 和 404 错误。当然,在这种情况下应该会出现这样的错误,直到缓存被清除,并且在大多数情况下都会发生这种情况。但是,对于一组选定的共享链接,我仍然收到此错误。我已经反复尝试通过相应页面的调试工具清除缓存,并且输出中的一切看起来都很完美,但是错误的请求不断出现。(皮棉工具:皮棉工具 url)。以下是我日志中的一些示例:

HTTP 访问日志:

69.171.224.251 - - 443 [13/Jan/2012:06:22:01 -0500] "GET /web/user/images/b0/b0ahhSjq1C1oEX0TBS5gLAmcSX4wKdPT.240.jpg HTTP/1.1" 403 338

和http错误日志:

[Fri Jan 13 05:55:01 2012] [error] [client 69.171.228.249] File does not exist: /var/xxx/www/html/web/user/images/1/ab/abSIktLHDs3rcUPYyFtxsP8J9u7vvaVr.240.jpg

这些 IP 地址指向 facebook。

也许我在整理错误的网址?如何找出这些请求属于哪个 url?facebook 在某个时间点后不会停止请求并刷新其缓存吗?上面的第二个错误在上周每天重复大约 25 次。

(此时我不会考虑重写 url。)

4

1 回答 1

0

您应该设置 301 永久重定向。或者进行某种 url 重写。无论哪种方式都有效。

您还可以确保您的报告过滤掉 linter/scraper 的用户代理

Facebook 什么时候抓取我的页面?

Facebook 需要抓取您的页面以了解如何在网站周围显示它。

Facebook 每 24 小时抓取一次您的页面,以确保属性是最新的。当 Open Graph 页面的管理员单击 Like 按钮以及将 URL 输入 Facebook URL Linter 时,该页面也会被抓取。Facebook 会观察您 URL 上的缓存标头 - 它会按优先顺序查看“过期”和“缓存控制”。但是,即使您指定更长的时间,Facebook 也会每 24 小时抓取一次您的页面。

爬虫的用户代理是:“facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)”

于 2012-01-14T01:07:06.780 回答