在 Apache2 中禁止目录浏览(即防止访问没有默认首页的目录时列出文件列表),常见有以下几种方式:
例如 Ubuntu/Debian 下:
sudo nano /etc/apache2/sites-available/000-default.conf
或你的站点配置文件。
在 <Directory> 段中添加或修改:
<Directory /var/www/html>
Options -Indexes
</Directory>
-Indexes表示关闭目录浏览
+Indexes表示开启目录浏览
sudo systemctl restart apache2
.htaccess 文件(适合虚拟主机/无配置权限)在你想禁止目录浏览的目录(如网站根目录)下创建或编辑 .htaccess:
Options -Indexes
.htaccess 覆盖配置:AllowOverride All
否则 .htaccess 不会生效。
推荐写法:
Options -Indexes +FollowSymLinks
Forbidden
You don't have permission to access this resource.
✅ 说明目录浏览已成功禁止如果仍然看到文件列表,说明配置未生效。
.htaccess 没生效检查:
apache2ctl -M | grep rewrite
并确保:
AllowOverride All
后面加载的配置会覆盖前面的,注意优先级。
如果你愿意,可以告诉我:
我可以给你更精确的配置示例。