温馨提示×

centos apache如何禁止目录浏览

小樊
39
2026-09-18 03:02:17
栏目: 智能运维

在 CentOS 上通过 Apache 禁止目录浏览(目录列表),常见做法如下:


一、修改 Apache 主配置或虚拟主机配置

1. 找到配置文件

常见路径:

/etc/httpd/conf/httpd.conf

或虚拟主机:

/etc/httpd/conf.d/*.conf

2. 关闭目录浏览(Indexes)

找到相关 <Directory> 配置,例如:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Indexes 去掉或改为 -Indexes

✅ 推荐写法:

Options -Indexes FollowSymLinks

或:

Options FollowSymLinks

二、使用 .htaccess 禁止目录浏览(适合不想改主配置)

1. 确保 AllowOverride 已开启

在 Apache 配置中:

AllowOverride All

2. 在网站根目录创建/编辑 .htaccess

vi /var/www/html/.htaccess

添加:

Options -Indexes

三、重启 Apache 使配置生效

systemctl restart httpd

或:

service httpd restart

四、验证是否生效

在浏览器访问一个没有默认首页(如 index.html)的目录:

http://your-server/ip/test/

✅ 正确效果:

403 Forbidden

❌ 错误效果: 显示出文件和目录列表


五、补充说明

  • Indexes:开启目录浏览
  • -Indexes:禁止目录浏览
  • 建议同时设置默认首页:
DirectoryIndex index.php index.html

如果你愿意,可以贴出你的 Apache 配置或 CentOS 版本,我可以帮你精确修改。

0