我想强制浏览器下载在RSS-Feed中链接的所有文件,这是由php脚本创建的。
因此我需要更改这些文件的HTTP标头并设置
header("Content-Disposition: attachment; filename=$file");
(也许还有其他一些变化)。
目前我尝试使用下载脚本来设置这些参数。
然而,这种方法的缺点是,我必须链接到“download.php”而不是“target.file”,这对用户来说有点误导。此外,我必须向用户显示内部文件路径,或者使用相当多的GET变量。
如果可以更改生成RSS-Feed的脚本中的HTTP标头,那会好得多。有没有办法实现这个目标?
答案 0 :(得分:1)
您无法更改RSS Feed内的标题。但是,您可以使用一些重写魔法隐藏download.php
部分:
RewriteEngine on
RewriteRule ^download/.*$ /download.php?file=$1 [L]
这会导致以/download/
开头的任何网址通过您的下载脚本运行:
/img/foo.jpg
- 普通文件/download/img/foo.jpg
- 强行下载你也可以在没有PHP的情况下做类似的事情:
RewriteEngine on
RewriteRule ^download/.*$ /$1 [L]
<Location /download>
Header add Content-Disposition "attachment"
</Location>