如何允许使用PHP下载文件,但拒绝直接访问目录列表

时间:2015-04-30 01:55:22

标签: php apache directoryindex

我在我的服务器上使用Apache,并且我希望允许访问者免费下载资源。但是,为了保留一点点带宽,我想拒绝直接访问资源的根文件夹,如下所示:

www.myhost.com/resources/file.wav

如果访问者从网址中删除file.wav,则他们可以立即访问所有声音,因此我会让人们只是疯狂地下载。我不想要那个。

如何阻止用户进入该根目录和任何子文件夹?

1 个答案:

答案 0 :(得分:1)

最简单的方法是做到这一点,甚至没有弄乱.htaccess(虽然这是一个好主意)只是将index.html文件放在文件夹中并将其权限设置为700。

如果您想关闭目录列表,可以使用以下命令创建一个htaccess文件:

<Directory /path/to/directory>
   Options -Indexes
</Directory>

如果要拒绝访问子目录,可以使用:

<Files subdirectory/*>
    deny from all
</Files>

如果您只想允许访问.wav文件,可以执行以下操作:

<Files *.wav>
    allow from all
</Files>