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,再次尝试,我仍然到达适当的页面。