使用htaccess强制下载PDF文件

时间:2014-09-24 15:19:54

标签: apache .htaccess pdf

我使用Apache作为后端服务器,使用nginx作为前端服务器。我需要下载PDF文件(此时它们在浏览器窗口中打开)。

这是一个链接:

<a href="http://domain.com/files/teltomat.pdf" target="">link</a>

这是我迄今为止在.htaccess文件中尝试过的内容:

<FilesMatch "\.(pdf)$">
   ForceType application/octet-stream
   Header set Content-Disposition attachment
</FilesMatch>

没有用,只需在浏览器中打开文件即可。

AddType application/force-download pdf

没有工作。

AddType application/octet-stream .pdf

没有工作。

更新

尝试:wget --server-response -O /dev/null http://domain.com/files/teltomat.pdf

得到回应:

HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Server: nginx
  Date: Wed, 24 Sep 2014 17:40:54 GMT
  Content-Type: application/pdf
  Content-Length: 3116445
  Last-Modified: Wed, 24 Sep 2014 13:28:07 GMT
  Connection: keep-alive
  Keep-Alive: timeout=60
  ETag: "5422c6e7-2f8d9d"
  Expires: Thu, 31 Dec 2037 23:55:55 GMT
  Cache-Control: max-age=315360000
  Accept-Ranges: bytes
Length: 3116445 (3,0M) [application/pdf]
Saving to: ‘/dev/null’

1 个答案:

答案 0 :(得分:2)

您可以尝试添加&#34;下载&#34;的HTML5解决方案而不是&#34;目标&#34;:

<a href="http://domain.com/files/teltomat.pdf" download="teltomat.pdf">link</a>

看起来服务器端正在做正确的事情(通过制作处理&#34;附件&#34;)但也许浏览器自己决定它可以处理PDF&#39; s inline并改为打开一个新窗口。