如何允许使用 PHP 下载文件,但拒绝直接访问目录列表
How to allow downloading files with PHP, but deny direct access to directory listings
我在我的服务器上使用 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>
我在我的服务器上使用 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>