如何为htaccess拒绝的文件提供本地下载链接

时间:2014-02-03 13:27:14

标签: .htaccess download localhost

登录网站管理区域的用户需要能够下载以前由其他管理员上传的文件。不允许公开访问这些文件。

文件保存在名为uploaded-files的目录中,该文件夹中有.htaccess:

<FilesMatch "\.(pdf|doc|docx|ods|xls|xlsx|ppt)$">
    Order deny,allow
    Deny from all
    Allow from localhost
</FilesMatch>

这似乎工作正常..公众无法链接到文件。问题是登录的管理员无法链接到它们,因为:

<a href"uploaded-files/abc.pdf">download</a>
单击时

给出403禁止。因此,服务器上的php / html文件似乎也无法访问文件。

我做错了什么?当然有一种简单的方法可以让服务器上的人通过链接下载文件,但仍然拒绝公开访问?

我已尝试将文件保留在public_html之外,但我无法提供指向该位置的链接:(

1 个答案:

答案 0 :(得分:1)

  1. 您应将这些文件保留在DOCUMENT_ROOT
  2. 之外
  3. 下载链接应该通过PHP文件,例如的 <a href"http://domain.com/download-files.php?file=abc.pdf">download abc.pdf</a>
  4. php代码可以检查auth部分和允许的主机等。如果所有验证都通过,则将具有适当CONTENT类型的PDF内容返回给浏览器。