我需要在网页上提供一个按钮,该按钮可以选择性地导致下载图像文件并存储在客户端的文件系统中。我想使用强制使用.htaccess下载文件或图像的方法,并在我的.htaccess中按照Apache文档的风格写,
<If "%{QUERY_STRING} =~ /download/">
Header set Content-Disposition attachment
</If>然后,我提供了一个类似于http://www.example.com/images/image123.jpeg?download=true的链接,这个链接在我的生产服务器上运行得很好。但是它给了我一个error 500在我的桌面上的Mac开发系统上,使用OS/X的apache或MAMP。Apache抱怨它不理解<If>语句,而serverFault告诉我Apache2.2没有理解它。OS/X和MAMP都提供Apache2.2。
有什么方法可以重写<if>语句在Apache2.2中产生同样的效果吗?
我不能就这么用
<a download="clientFileName.jpg" href="/images/image123.jpeg">Download</a> 因为它在IE11或Safari中都不起作用。
发布于 2014-05-14 13:41:08
可以首先使用重写规则设置env变量:
RewriteEngine On
RewriteCond %{QUERY_STRING} (?:^|&)download=[^&]+ [NC]
RewriteRule ^ - [E=DL:1,L]然后在有条件的中使用这个env变量来设置标题:
Header set Content-Disposition attachment env=DLhttps://stackoverflow.com/questions/23656169
复制相似问题