天天看点

禁止Apache显示目录索引

禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止Apache浏览目录,这是网上提问比较多的,其实都是一个意思。

下面说下禁止禁止Apache显示目录索引的常见的3种方法。

要实现禁止Apache显示目录索引,只需将 Option 中的 Indexes 去掉即可。

1.修改目录配置

Options

indexes

FollowSymLinks,indexes的作用是,如果这个目录下面没有index文件,那么有indexes属性,那么就会把当前的目录结构在浏览器中列出来;如果没有indexes,则不会列出目录

<Directory "/var/www/html">
    Options indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
           

网站目录”/var/www/html”配置如下

禁止Apache显示目录索引

测试结果如下

禁止Apache显示目录索引

2.修改apache的httpd.conf属性

搜索“Options Indexes FollowSymLinks”,修改为“Options FollowSymLinks”即可。

在Options Indexes FollowSymLinks在Indexes前面加上 – 符号。备注:在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览。这样的话就属于整个Apache禁止目录浏览了。

经过测试在apache2.2.15版本中,使用’+-‘并不适用,而是需要把indexes添加或者删除才可以

如果是配置虚拟机,则如下:

<VirtualHost *>
    <Directory "../vhosts/xx.xxx.com">
        Options indexes FollowSymLinks # 修改为 -Indexes 即可
    </Directory>
    ServerAdmin [email protected].com
    DocumentRoot "../vhosts/xx.xxx.com"
    ServerName xx.xxx.com:
    ServerAlias xx.xxx.com
    ErrorLog logs/xx.xxx.com-error_log
</VirtualHost>
           

3.通过.htaccess文件来实现

可以在根目录新建或修改 .htaccess 文件中添加

<Files *>
 Options -Indexes
</Files>
           

继续阅读