使用htaccess强制下载图像

时间:2014-10-31 06:19:02

标签: apache mod-rewrite hotlinking

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

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]

1 个答案:

答案 0 :(得分:2)

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

您的服务器必须提供此文件(例如,在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>