使用 htaccess 强制下载图片

Posted

技术标签:

【中文标题】使用 htaccess 强制下载图片【英文标题】:Force image download with htaccess 【发布时间】:2014-12-27 09:57:22 【问题描述】:

使用以下代码,我可以用另一个图像替换热链接图像。但是,是否可以强制下载替换的图像而不是在浏览器中打开?

RewriteCond %HTTP_REFERER !^$
RewriteCond %HTTP_REFERER !^http(s)?://(subdomain\.)?mydomain.com.*$ [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://i.imgur.com/D5ZIJBq.jpg [NC,R,L]

【问题讨论】:

可能重复:***.com/a/34758866/257319 【参考方案1】:

您无法通过此重写强制下载。

您的服务器必须提供此文件(例如在http://subdomain.mydomain.com//img/my_fake_image.jpg 中)。 然后,修改你重写规则并添加以下规则(未测试并适应)

RewriteCond %HTTP_REFERER !^$
RewriteCond %HTTP_REFERER !^http(s)?://(subdomain\.)?mydomain.com.*$ [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://subdomain.mydomain.com/img/my_fake_image.jpg [NC,R,L]
<FilesMatch "\.my_fake_image.jpg$">
    ForceType application/octet-stream
    Header set Content-Disposition attachment
</FilesMatch>

【讨论】:

谢谢你的回答,但你能解释一下吗,你的意思是不适应?会伤害吗?我应该将您的代码放在重写规则之下,它只会强制下载 imgur.com 图像吗?谢谢。 不行,还是在浏览器中显示,apache开启了headers模式,所以没有问题。

以上是关于使用 htaccess 强制下载图片的主要内容,如果未能解决你的问题,请参考以下文章

使用 .htaccess 强制文件下载

使用 .htaccess 强制 PDF 下载

使用.htaccess强制下载文件或图像

使用.htaccess强制下载文件

使用.htaccess强制下载

.htaccess 在 Safari 中强制 PDF 下载