禁止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”配置如下
测试结果如下
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>