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

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

www.myhost.com/resources/file.wav 

如果访问者从URL中删除file.wav ,他们可以一次访问所有的声音,因此我会让人们只是疯狂地下载。 我不要那个。

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

最简单的做法是,不用搞乱.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>