0

我正在使用 php 文件将图像加载到我的网页中,因为它们托管在 webroot 之外。除了 Facebook 在og:image以这种方式加载时没有在元标记中注册图像之外,一切都运行良好。

具有讽刺意味的是,有问题的页面是https://www.molecularmagic.net/hosting/the.computing.cafe/www/index.php?t=3b3c55

有问题的元标记是:

<meta property="og:image" content="https://www.molecularmagic.net/hosting/the.computing.cafe/www/file.php?f=feature_image.png">

与图像一起发送的标头是:

accept-ranges: bytes
cache-control: public, max-age=604800
content-length: 243688
content-type: image/png
date: Sun, 06 Jun 2021 22:56:58 GMT
expires: Thu, 19 Nov 1981 08:52:00 GMT
last-modified: Sun, 06 Jun 2021 23:05:22 +0100
server: LiteSpeed
vary: User-Agent

在这种情况下,Facebook 共享调试器给了我这个错误:

Provided og:image URL, https://www.molecularmagic.net/hosting/the.computing.cafe/www/file.php?f=featured_image.png could not be processed as an image because it has an invalid content type

对于其他页面,og:image标签为:

<meta property="og:image" content="http://openmediavault/the.computing.cafe/www/images/feature_image.png?1623012347">

文件名后面的数字是filemtime强制 FB 重新加载图像,如果我改变它。与此图像一起发送的标头是:

accept-ranges: bytes
cache-control: public, max-age=604800
content-length: 183886
content-type: image/png
date: Sun, 06 Jun 2021 22:27:30 GMT
expires: Sun, 13 Jun 2021 22:27:30 GMT
last-modified: Sun, 06 Jun 2021 20:46:04 GMT
server: LiteSpeed
vary: User-Agent

...和 ​​Facebook 共享调试器正确呈现图像。

我已经非常努力地确保发送图像时的标题file.php尽可能接近从“真实”图像文件发送的标题。

我知道这是通过提供图像引起的,file.php但我不明白为什么当标题看起来相同时,Facebook 会告诉我图像具有无效的内容类型。

谁能建议为什么会这样?

4

1 回答 1

0

已修复 - 谢谢。通过使元数据图像可热链接完全解决。

于 2021-06-07T09:48:09.417 回答