云服务器

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

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

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

1)修改目录配置:

<Directory "D:/Apache/blog.phpha.com">  

Options Indexes FollowSymLinks # 修改为: Options  FollowSymLinks  

    AllowOverride None  

    Order allow,deny  

    Allow from all  

</Directory>  

只需要将上面代码中的 Indexes 去掉,就可以禁止 Apache 显示该目录结构。用户就不会看到该目录下的文件和子目录列表了,Indexes 的作用就是当该目录下没有index.html 文件时,就显示目录结构,?掉Indexes,Apache就不会显示该目录的列表了。

2)修改Apache配置文件[httpd.conf]

搜索“Options Indexes FollowSymLinks”,修改为“Options -Indexes FollowSymLinks”即可。在Options Indexes FollowSymLinks在Indexes前面加上 – 符号。备注:在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览。这样的话就属于整个Apache禁止目录浏览了。如果是配置虚拟机,则如下:

<VirtualHost *>  

    <Directory "../vhosts/blog.phpha.com">  

        Options -Indexes FollowSymLinks # 修改为 -Indexes 即可  

    </Directory>  

    ServerAdmin mail@jb51.com  

    DocumentRoot "../vhosts/blog.phpha.com"  

    ServerName shopex:80  

    ServerAlias blog.phpha.com  

    ErrorLog logs/blog.phpha.com-error_log  

</VirtualHost>  

3)通过.htaccess文件

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

<Files *>  

 Options -Indexes  

</Files>  

就可以禁止Apache显示目录索引。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: