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

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


当前回答

完成@GauravKachhadiya的回答:

IndexIgnore *.jpg

表示“仅隐藏.jpg扩展名文件,不进行索引。

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

一个星号字符,它匹配字符串中的任何字符,例如:foo或foo。扩展,在下面的例子中,我们将关闭目录列表,没有文件或dirs将出现在索引中: IndexIgnore *

或者如果你想隐藏特定的文件,在目录列表中,那么我们可以使用

IndexIgnore *.php

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

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

其他回答

除了上述两种方法(编辑/etc/apache2/apache2.conf或在.htaccess文件中添加Options -Indexes),还有一种方法

a2dismod autoindex

之后重新启动apache2服务器

sudo service apache2 restart

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

创建一个包含以下行内容的.htaccess文件:

Options -Indexes

这是一种选择。另一种选择是编辑apache配置文件。

为了做到这一点,你首先需要用命令打开它:

vim /etc/httpd/conf/httpd.conf

然后找到这一行:Options Indexes FollowSymLinks

将该行更改为:Options FollowSymLinks

最后保存并退出文件,并使用以下命令重新启动apache服务器:

sudo service httpd restart

(这里有一份截图指南。)

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

<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中试试这个:

IndexIgnore *.jpg