mod_rewrite有助于根据URI更改Content-disposition

syn*_*ted 4 apache .htaccess mod-rewrite

我有一个mp3文件目录,希望能够内联服务或为用户提供基于请求URI下载的选项.

/media/file1.mp3 - 在这种情况下,我只想提供文件并让浏览器播放它.

/media/download/file1.mp3 - 在这种情况下,我想让用户轻松下载文件.

我已经能够使用mod_rewrite和php(使用header()和readfile()函数)完成此操作但是我宁愿用mod_rewrite,mod_header等来完成所有操作.

Ang*_*ira 5

IfDefine将检查Apache启动时设置的变量,这样就无法工作了.有效的配置是:

SetEnvIf Request_URI ^/media/download/ force-download
Header set Content-Disposition attachment env=force-download
Run Code Online (Sandbox Code Playgroud)

同样不需要更改Content-Type来强制下载.