温馨提示×

centos如何禁止apache2目录浏览

小樊
38
2026-09-27 03:36:51
栏目: 智能运维

在 CentOS 上(通常是 Apache/httpd,不是 apache2,apache2 是 Debian/Ubuntu 的叫法),禁止目录浏览(目录列表)可以通过以下几种方式实现。


一、修改 Apache 主配置或虚拟主机配置(推荐)

1. 找到 Apache 配置文件

CentOS 下常见路径:

/etc/httpd/conf/httpd.conf

或虚拟主机:

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

2. 修改 Directory 配置

找到类似下面的配置:

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

去掉 Indexes 即可禁止目录浏览:

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

二、使用 .htaccess 文件(需 AllowOverride 支持)

如果无法修改主配置,可在网站根目录创建或编辑 .htaccess:

Options -Indexes

并确保 Apache 配置中允许:

AllowOverride Options

修改后重启或重载 Apache:

systemctl restart httpd
# 或
systemctl reload httpd

三、全局禁止(简单粗暴)

在 httpd.conf 中全局去掉 Indexes:

Options FollowSymLinks

四、验证是否生效

  1. 访问一个没有 index 文件的目录
    例如:http://ip/test/

  2. 若看到:

    Forbidden
    You don't have permission to access this resource.
    

    说明已成功禁止目录浏览 ✅


五、补充说明

  • Indexes:开启目录列表
  • -Indexes:关闭目录列表
  • 即使关闭 Indexes,如果目录有 index.html / index.php,仍会正常访问

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • Apache 版本
  • 是否使用虚拟主机

我可以给你更精确的配置示例。

0 踩