如何限制用户访问目录而不是其中的文件

How to restrict user from accessing directory but not the files which are inside it

我有一个 html 文件,其中包含上传到服务器的图像。我以这种方式包括它们。假设文件路径是 Images/img1.jpg, Images/module1/img1.jpg 这些是相对路径。如果我转到我的浏览器并键入 "domain.com/Images/img1.jpg" 和 "domain.com/Images/modul1/img1.jpg",这些文件应该可以访问。但是当我输入 "domain.com/Images/" 或 "domain.com/Images/module1" 时,它们应该是不可访问的。在这些情况下,它应该会显示访问被拒绝。

因为你似乎描述的是避免在apache中列出目录,你只需要像这样设置目录:

<Directory /full/path/to/Images>
    Options -Indexes
    Require all granted
</Directory>

此外,您可以为这些目录添加一个欢迎页面 DirectoryIndex index.html

此配置将在所有子目录中传播,因此您无需在所有子目录中一一定义它们,因此除非您已经对子目录进行了配置以覆盖此配置,否则此配置将在目录中进一步应用树.

注意:如果您使用的是 2.2,则应使用 "Allow from all" 而不是 "Require all granted"