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

/画廊索引/409 *父目录 * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg


当前回答

最好的方法是使用webserver apache2禁用它。在我的Ubuntu 14中。打开/etc/apache2/apache2.conf change from

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

to

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

然后重新启动apache:

sudo service apache2 reload

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

其他回答

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

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

我用虚拟主机找到了另一种方法:

<VirtualHost *:80>
    DocumentRoot C:/WAMP/Apache24/htdocs/
    ServerName vehiclesspares.com
    <Directory C:/WAMP/Apache24/htdocs/vehiclesspares.com>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>    
</VirtualHost>

这适用于我在Apache 2.4.54上的本地windows机器上的主机文件(C:\ windows \System32\drivers\etc\hosts)包含以下行: 127.0.0.1 vehiclesspares.com 这个配置在doc根目录下也有vehiclesspares.com: C:\WAMP\Apache24\htdocs\vehiclesspares.com

打开你的.htaccess文件,输入以下代码

Options -Indexes

确保在输入“选项-索引”后按下回车键(如果你用的是Mac电脑,则按下回车键),这样文件就会以空行结束。

在.htaccess中试试这个:

IndexIgnore *.jpg

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

Options -Indexes +FollowSymLinks