Apache2下实现禁止目录浏览

Apache2的默认根目录:/var/www

Apache2的实际配置文件:/etc/apache2/sites-enabled/000-default

打开配置文件/etc/apache2/sites-enabled/000-default,找到:

        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

改成:

        <Directory /var/www/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

备注:在Indexes前,加 + 代表允许目录浏览;加 - 代表禁止目录浏览。

如果是在虚拟主机中,只要增加如下信息就行:

注意:虚拟主机中,在上面的 Options Indexes FollowSymLinks 注释掉,虚拟主机才起作用。

备注: 切记莫把“Allow from all”改成 “Deny from all”,否则,整个网站都不能被打开。

请问Apache如何屏蔽目录列表同时保留目录访问的默认页面?

在Apache的配置文件/etc/apache2/sites-enabled/000-default中找到需要设置目录的Directory属性,并在Options一行去掉Indexes

比如说:

  <Directory "/var/www/test">  
          Options Indexes FollowSymLinks  
  </Directory> 

改为:

  <Directory "/var/www/test">  
          Options FollowSymLinks  
  </Directory>