2010-02-16 84 views
3

我在此服务器上有apache和许多图像。例如:http://test.com/images/abc.jpg 我想有这种可能性:如果用户像这样去url http://test.com/images/download/abc.jpg apache必须添加标头Content-Disposition: attachment; filename="abc.jpg"。我如何做到这一点?在Apache中添加标头

+0

你有什么Apache产品?拥有Apache意味着很多东西,比如Tomcat,James,Geronimo等。 – 2010-02-16 12:18:09

+0

http://httpd.apache.org/ – Leonid 2010-02-16 12:40:25

回答

5

您想要使用mod_rewrite(伪造“下载”目录)和mod_headers(添加Content-Disposition标头)的组合。

创建images目录.htaccess文件:

 
<filesmatch ".*"> 
Header set Content-Disposition attachment env=REDIRECT_force_download 
</filesmatch> 

这将设置每当“REDIRECT_force_download”环境变量设置适当的头。

创建一个下载目录,并添加此.htaccess文件:

 
RewriteEngine On 
RewriteRule (.*) ../$1 [L,NC,QSA,E=force_download:1] 

这将任何图像请求重定向到父(图像)的目录,同时增加了“REDIRECT_force_download”环境变量将触发报头指令以上。