Nginx 重写以便在浏览器 URL 中直接访问图像

Nginx 重写以便在浏览器 URL 中直接访问图像

我尝试过但无法获得有效的重写规则。
我希望图像包含在任何网站中。但当在浏览器 URL 中直接访问图像时,我希望重写发生。

http://i683.photobucket.com/albums/vv191/angelinesona/Animhorse.gif

举个例子,Photobucket 就是这样做的。我们可以使用 img src 标签将此图像包含在我们的网站中。但如果您尝试通过 url 访问此图像,它将重定向到原始页面。

我们如何检测是否不使用 img 标签而直接访问图像?

答案1

您可以查看Accept标题。这显然也是 Photobucket 所做的。如果它包含text/html,则提供 HTML。否则浏览器可能正在寻找图像。它应该发送image/*,但这在某些机器上对我来说不起作用(Linux 上的 Firefox)。

Photobucket 还会查看用户代理字符串,以识别仅下载客户端(如 cURL)。

显然,所有这些都不太可靠。但请记住:如果嵌入有效但重定向无效,那就更好了。如果情况相反,用户体验将受到更大影响。

相关内容