一聚教程网:一个值得你收藏的教程网站

热门教程

apache开启目录浏览功能的配置

时间:2022-06-30 17:53:11 编辑:袖梨 来源:一聚教程网

apache开启目录浏览功能

主配置文件 httpd.conf 中修改:

1)添加支持模块。


LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so

注意一定要拥有这两个模块,否则下面的配置不生效,返回404 Not Found错误。
这个模块也有可能直接编译到Apache核心文件httpd中去了。

2)为DocumentRoot目录添加Options Indexes,即可生成目录。


Options Indexes FollowSymLinks

这里Indexes控制是否打开目录浏览,如果要关闭目录浏览,使用

Option -Indexes

3)加载 httpd-autoindex.conf 配置

Include conf/extra/httpd-autoindex.conf


如果要关闭和的话我们可以参考下面关于关闭Apache的目录浏览功能


一、默认情况
默认情况下,Apache的配置文件/etc/httpd/conf/httpd.conf中有如下参数:

引用

Options Indexes FollowSymLinks
......

 

也就是说,在目录下没有默认首页面(如:index.html index.php等)时,可以让用户直接浏览web目录架构,这可能会导致一些重要的目录或配置文件被公开。

通常在Web应用上也会做一些安全考虑,以Bo-Blog为例,一些目录下会有类似的文件:

引用
# cat inc/index.php

die ('Access Denied');


这样,可以避免用户直接浏览该目录时,看到整个目录结构。但如果访问它下面的子目录就没什么作用了:
 
所以,这还是不太安全。

二、修改配置文件
安全起见,我建议还是把Indexes选项关闭比较好,方法有两种:
1、全局关闭
修改上面提到的配置文件/etc/httpd/conf/httpd.conf,把:

引用
Options Indexes FollowSymLinks


改为:

引用
Options -Indexes FollowSymLinks


重启httpd服务即可,这样可以把所有网站的Indexes选项都取消。

2、修改.htaccess文件
如需要针对特定的网站取消该功能,可以先打开.htaccess支持,修改/etc/httpd/conf/httpd.conf:

引用

......
    AllowOverride None
......

 

修改为:

引用

......
    AllowOverride All
......

 

然后,在各网站的主目录下写入一个.htaccess文件,内容有:

引用
# head .htaccess
Options -Indexes


RewriteEngine on
RewriteBase /
......


保存后马上生效。

热门栏目