如何禁用目录浏览?

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

/ galerias / 409的索引

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

使用以下命令创build一个.htaccess文件:

 Options -Indexes 

最好的办法是使用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服务的所有文件夹中的目录列表。

/galerias里编辑/创build一个.htaccess文件:

 Options -Indexes 

目录浏览由mod_autoindex模块提供。

其中一个重要的事情就是设置一个安全的Apache Web服务器就是禁用目录浏览。 默认情况下,apache提供了这个function,但是除非你真的需要这个function,否则最好禁用它。 打开apache文件夹中的httpd.conf文件,find如下所示的行:

 Options Includes Indexes FollowSymLinks MultiViews 

然后删除单词索引并保存该文件。 重新启动Apache。 而已

除了前面提到的两个方法(编辑/etc/apache2/apache2.conf或者在.htaccess文件中添加Options -Indexes )之外,还有另外一个

 a2dismod autoindex 

之后重新启动apache2服务器

 sudo service apache2 restart 

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

  • 它(通常)在服务器上需要零configuration。
  • 即使服务器pipe理员决定在服务器configuration中使用“AllowOverride None”,它也将继续工作。 (如果您使用.htaccess文件,这可能会导致许多“错误500 – 内部服务器错误”消息为您的用户!)。
  • 它还允许您将文件从一台服务器移动到另一台服务器,而不必乱用Apacheconfiguration。

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

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

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

要完成@ GauravKachhadiya的回答:

 IndexIgnore *.jpg 

意思是“只隐藏来自索引的.jpg扩展名文件。

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

  • 星号字符,它匹配string中的任何字符,例如:foo或foo.extension,在下面的例子中,我们将closures目录列表,索引中不会出现任何文件或目录:

    IndexIgnore *

或者如果你想隐藏文件的目录,那么我们可以使用

 IndexIgnore *.php 

* .php =>匹配以任何字符开头并以.php结尾的string

上面的例子隐藏了以.php结尾的所有文件

在你的代码中试试这个:

 IndexIgnore * 

试试这个.htaccess

 IndexIgnore *.jpg 

如果你select修改你的httpd.conf文件来解决这个问题,并且你有多个Options指令,那么你必须在每个指令前加一个 – 或者一个+。 例:

选项-Indexes + FollowSymLinks

打开你的.htaccess文件并input下面的代码

 Options -Indexes 

确保在input“Options -Indexes”单词后按ENTER键(如果使用Mac,则返回键),以便文件以空行结束。