在使用XAMPP搭建本地开发或测试环境时,Apache默认开启了目录列表功能,当请求的目录下没有index.html、index.php等默认首页文件时,服务器会直接返回该目录下的所有文件和子目录列表,这很容易导致项目源码、配置文件等敏感内容被泄露,因此禁止目录列表显示是XAMPP安全优化的重要步骤。

禁止目录列表显示的核心原理
Apache的目录列表功能由mod_autoindex模块控制,该模块默认处于启用状态,对应的配置指令是Options,其中Indexes参数就是控制是否开启目录列表的开关。我们只需要修改Apache的配置文件,去掉对应目录的Indexes参数,就可以关闭目录列表功能。
具体配置步骤
1. 找到Apache的主配置文件
首先打开XAMPP的安装目录,默认情况下Windows系统的安装路径是C:xampp,Linux或macOS系统的安装路径是/opt/lampp。进入apacheconf目录,找到名为httpd.conf的配置文件,这就是Apache的主配置文件。
2. 修改目录配置参数
用文本编辑器打开httpd.conf文件,搜索Options Indexes FollowSymLinks相关内容,通常可以找到如下配置段:
<Directory "C:/xampp/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
这里的Indexes就是开启目录列表的参数,我们需要将其删除,修改后的配置如下:
<Directory "C:/xampp/htdocs">
Options FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
如果你的配置中Options后面还有其他参数,只需要删除Indexes即可,不要删除其他必要的参数。
3. 重启Apache服务
修改完成后保存httpd.conf文件,回到XAMPP控制面板,点击Apache对应的Stop按钮停止服务,再点击Start按钮重新启动服务,让配置生效。
验证配置是否生效
在XAMPP的htdocs目录下新建一个测试文件夹,比如命名为test_dir,里面不要放任何默认首页文件,然后在浏览器中访问http://localhost/test_dir。
如果配置生效,浏览器会返回403 Forbidden错误,提示你没有权限访问该目录,而不会再展示目录下的文件列表。如果仍然能看到目录列表,说明配置没有修改正确,需要检查是否删除了正确的Indexes参数,或者是否重启了Apache服务。
其他相关安全优化建议
- 除了禁止目录列表,还可以限制Apache的版本信息泄露,在
httpd.conf中添加ServerTokens Prod和ServerSignature Off配置,避免返回详细的服务器版本信息。 - 对于不需要对外访问的目录,可以在
<Directory>配置段中添加Require local,只允许本地访问,禁止外部网络访问。 - 定期检查
htdocs目录下的文件,删除不必要的测试文件、备份文件,避免敏感信息留存。
常见问题说明
如果修改配置后重启Apache失败,可能是配置文件语法错误,可以查看XAMPP控制面板中Apache的日志,定位错误位置。另外如果项目中使用了.htaccess文件,也要注意.htaccess中是否有Options Indexes的配置,避免覆盖主配置文件的设置。
XAMPPApache目录列表禁止安全优化httpd_conf修改时间:2026-07-17 17:27:21