我想知道是否有可能.htaccess只在有特定的GET变量时才强制下载文件,就像Dropbox一样.
例:
http://www.domain.com/file.mp4
Run Code Online (Sandbox Code Playgroud)
服务器只提供文件,而:
http://www.domain.com/file.mp4?dl
Run Code Online (Sandbox Code Playgroud)
强制浏览器下载文件.
PS:使用PHP与readfile()它不是我的情况下,一个可行的选择.谢谢.
SáT*_*SáT 10
FilesMatch的模式与查询字符串不匹配,只有文件名正确.
但是,您可以使用mod_rewrite模块,%{QUERY_STRING}变量和T标志:
RewriteCond %{QUERY_STRING} dl
RewriteRule .*\.mp4 - [T=application/octet-stream]
Run Code Online (Sandbox Code Playgroud)
或者,如果您有Apache> 2.3(我认为),您可以使用If指令,它更清洁:
<FilesMatch "filepattern.mp4">
<If "%{QUERY_STRING} =~ /dl/">
ForceType application/octet-stream
Header set Content-Disposition attachment
</If>
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
第一个解决方案已更新