Facebook缩略图问题追溯到safe_image.php

时间:2011-11-10 18:05:42

标签: facebook api facebook-like

出于某种原因,facebook的safe_image.php脚本没有正确生成缩略图。即使在脚本的参数中链接了正确的图像,它也会生成1x1图像。 例如:

<img class="img" alt="" src="https://s-external.ak.fbcdn.net
/safe_image.php?d=AQBtrCt_Es_KsED0&w=90&h=90&url=http%3A%2F
%2Fwww.southlapatriots.info%2Fimages%2FScamra%2FJayCastilleCouncil2.jpg"

链接的图像是正确的,但它仍然只生成1x1图像。

5 个答案:

答案 0 :(得分:2)

今天遇到了同样的问题,在我的情况下是一个https问题。

我自动将每个http请求重定向到https,而浏览器正常运行时,FB的safe_image.php不会。如果你也有这样的重定向,你可能想要仅为你的og:图像文件禁用它。

答案 1 :(得分:1)

我也遇到了类似的问题。我的问题是因为图像名称中有一个“空格”。所以它不会出现在facebook debugger和共享中。

所以我通过编码部分用连字符(“ - ”)替换空格来修复问题。之后,我调试了facebook debugger中的网址,它出现了。这意味着Facebook不会用“空间”显示图像名称。但这背后没有合理的理由。无论如何它会帮助某人。

有关详情,请查看answer发布的Patrick D'appollonio。它帮助了我。

答案 2 :(得分:0)

您是否对图片使用任何类型的gzip压缩?我们看到了类似的问题,但我们使用gzip压缩图像并设置标题。浏览器渲染得很好,但Facebook基本上没有显示任何内容。

答案 3 :(得分:0)

safe_image脚本代码不支持在应用的图片网址中包含%(这可能是图片变成1x1透明像素的原因)

所以解决方案是here。请尝试遵循chris第一条评论中的说明

答案 4 :(得分:0)

在我的情况下,包含真正目标图像的目录在“.htaccess”控制下,禁止从外部服务器调用图像。

阻止“.htaccess”文件的示例,例如:

<FilesMatch "\.(jpg)$">
SetEnvIf Referer "^http://www.mysite.jp" ref_ok
order deny,allow
deny from all
allow from env=ref_ok
</FilesMatch>