如何禁用目录浏览?

时间:2010-03-27 18:14:38

标签: apache .htaccess

我想禁用/ galerias文件夹和所有子目录的目录浏览

  

/ galerias / 409指数

* Parent Directory
* i1269372986681.jpg
* i1269372986682.jpg
* i1269372988680.jpg

11 个答案:

答案 0 :(得分:365)

使用以下内容创建.htaccess文件:

Options -Indexes

如果您有.htaccess,那么这是第二种选择 但是apache配置必须包含每个人,

所以你需要用下面的命令打开apache config。 vim /etc/httpd/conf/httpd.conf

找到第 Options Indexes FollowSymLinks

随着这个改变

Options FollowSymLinks

使用此命令保存并退出文件并重新启动apache服务器

sudo service httpd restart

答案 1 :(得分:266)

执行此操作的最佳方法是使用webserver apache2禁用它。在我的Ubuntu 14.X中 - 从

打开/etc/apache2/apache2.conf更改
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

然后通过以下方式重启apache:

sudo service apache2 restart

这将禁用apache2所服务的所有文件夹中的目录列表。

答案 2 :(得分:34)

除了前面提到的两种方法(编辑 /etc/apache2/apache2.conf 或在.htaccess文件中添加选项 - 索引),这里还有另一种方法

a2dismod autoindex

之后重启apache2服务器

sudo service apache2 restart

答案 3 :(得分:27)

使用以下内容编辑/创建.htaccess内的/galerias文件:

Options -Indexes

目录浏览由mod_autoindex模块提供。

答案 4 :(得分:21)

您可以将名为index.html的空文件放入您不想列出的每个目录中。这有几个好处:

  • 它(通常)需要在服务器上进行零配置。
  • 即使服务器管理员决定使用&#34; AllowOverride None&#34;它仍将继续工作。在服务器配置中。 (如果您使用.htaccess文件,这可能会导致大量“错误500 - 内部服务器错误&#34;消息给您的用户!”。
  • 它还允许您将文件从一台服务器移动到另一台服务器,同样不必弄乱apache配置。

理论上,自动索引可能由不同的文件触发(这由DirectoryIndex选项控制),但我还没有在现实世界中遇到过这种情况。

答案 5 :(得分:16)

设置安全apache Web服务器的重要一点是禁用目录浏览。默认情况下,apache启用了此功能,但除非您确实需要它,否则始终禁用它。 在apache文件夹中打开httpd.conf文件,找到如下所示的行:

Options Includes Indexes FollowSymLinks MultiViews

然后删除单词索引并保存文件。重启apache。那是

答案 6 :(得分:5)

如果您选择修改httpd.conf文件来解决此问题并且您有多个Options指令,则必须在每个指令之前添加 - 或+。例如:

选项-Indexes + FollowSymLinks

答案 7 :(得分:3)

这不是答案,只是我的经验:

在我的Ubuntu 12.04 apache2上,没有在apache2.conf或httpd.conf中找到Indexes,幸运的是我在sites-available/default找到了它。删除后,现在它没有看到目录列表。可能必须为sites-available/default-ssl执行此操作。

答案 8 :(得分:2)

打开您的.htaccess文件,然后在

中输入以下代码
Options -Indexes

确保在输入“Options -Indexes”字样后按ENTER键(如果使用Mac,则按RETURN键),以便文件以空行结束。

答案 9 :(得分:1)

完成@ GauravKachhadiya的回答:

IndexIgnore *.jpg

表示&#34;仅隐藏 .jpg 扩展程序文件。

IndexIgnore指令使用通配符表达式来匹配目录和文件。

  • 一个星形字符,它匹配字符串中的任何字符,例如:foo或foo.extension,在下面的示例中,我们将关闭目录列表,索引中不会出现任何文件或dirs :

    IndexIgnore *

或者如果你想隐藏空间文件,在目录列表中,我们可以使用

IndexIgnore *.php

* .php =&gt;匹配以任何char开头并以.php

结尾的字符串

上面的示例隐藏了以.php

结尾的所有文件

答案 10 :(得分:0)

.htaccess

中试试
IndexIgnore *.jpg