4

Facebook OpenGraph 调试工具正在抓取错误的页面。

如果我给它一个我希望它抓取的完整 URL(指向我网站上的单个页面),而不是抓取该页面并找到它的元标记,它会抓取我网站的主页并返回那些元标记(显然在这种情况下是错误的)。

奇怪的是,它甚至会找到并抓取我网站的主页,即使它不在我的域的根目录下。例如:
我希望它刮取http://mydomain.com/myhomepage/specific_page.html
相反,它刮取http://mydomain.com/myhomepage/

这对我来说意味着错误必须是某个地方的设置,无论是在我的网站上还是在我的 Facebook 应用程序设置上。应用程序设置会这样做吗?如果请求的 URL 是它的后代,则重定向到设置的任何 URL?
我请求的 URL 没有执行 302 或任何操作 - 我甚至可以单击 FB 调试工具中的链接,它会将我带到相应的页面。

几点注意事项:

  • specific_page.html不是一个实际的文件,它是通过 index.php 使用 Apache 的 htaccess 中的 mod_rewrite 路由的。我试着具体http://mydomain.com/myhomepage/index.php/specific_page.html一点,但它也没有奏效。
  • 另一个 SO 问题让我相信,如果用户代理不允许 cookie(因为 Facebook 网络爬虫不允许),它可能会被重定向,所以我打开了一个新的浏览器,禁用了 cookie,再次尝试,我仍然到达适当的页面。
4

1 回答 1

6

如上面评论中所述,在您的情况下,这是由于og:url元标记,将 Facebook 的爬虫重定向到该 URL

一般来说,这样的情况通常是og:url标签、HTTP 重定向或指向“其他”/“错误”URL 的规范元标签——Facebook 的爬虫跟随这些重定向寻找最终 URL

于 2013-06-12T16:51:51.343 回答