当一个目录没有index页面的时候,通过url访问该目录,如果服务器没有做好相应的安全设置,那么很可能就会直接返回了一个该目录列表的页面。这是很危险的。那么如何去解决这个问题呢?除了设置服务器外,这里我们介绍一种方法通过.htaccess禁止Apache显示目录列表的办法。
在需要禁止列表的目录下面建立一个.htaccess文件,添加如下代码:
Options -Indexes
注意:以上的 Indexes 的作用就是当该目录下没有 index.html 文件时,就显示目录结构。在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览。
在网站的根目录的 .htaccess 文件中输入如下代码,将对该网站所有的目录都起作用:
<Files *>
Options -Indexes
< /Files>
或者:
Options All -Indexes
当然该语法还有其他相关的用途,以下列出简单的几项供大家参考使用,如果你觉得以下的语法不是你想要或是想学更多,你可以到Apache官方网站来看看英文说明书,查看看还有什么关于 「indexoptions」的用途或是其他不错的功能喔!
Options +Indexes:显示目录下所有档案
Options -Indexes:隐藏目录下所有档案 (上面已经介绍过)
IndexOptions +FancyIndexing:显示目录下所有档案,档案前面包含档案类型的小图示
IndexOptions -FancyIndexing : 显示目录下所有档案,但不包含档案类型的小图示
IndexIgnore *.php *.exe:隐藏特定的档案, 其餘档案正常显示(隐藏所有的php和exe档案)