我有一个PDF部分,我想让用户选择在浏览器中查看文件,或将其下载到他们的计算机.我不想复制文件,所以我们想到了使用查询字符串告诉服务器强制下载文件的想法,例如
<a href="/path/to/pdfs/pdf.pdf?view=download">FileName</a>
Run Code Online (Sandbox Code Playgroud)
在pdfs文件夹的.htaccess文件中,如果查询字符串存在,我需要强制下载文件?
我现在拥有的每个pdf都会强制下载(而不是查看):
<Files *.pdf>
ForceType applicaton/octet-stream
</Files>
Run Code Online (Sandbox Code Playgroud)
你可以用mod_rewrite做这样的事情:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^view=download$
RewriteRule .*\.pdf$ - [L,T=applicaton/octet-stream]
Run Code Online (Sandbox Code Playgroud)
http://httpd.apache.org/docs/current/rewrite/flags.html#flag_t
PS
根据您的重写逻辑(如果有的话),您可能需要删除该L,标志.
上述规则适用于以.pdf结尾且具有view=download完全查询字符串的URL .这意味着它将起作用example.com/some/file/here/hello.pdf?view=download但不起作用example.com/some/file/here/hello.pdf?view=download&var1=param1.为了让它适用于这种情况,你必须相应地调整规则(但考虑到你在问题中提供的URL示例,它不应该发生).
| 归档时间: |
|
| 查看次数: |
3064 次 |
| 最近记录: |