apache 默认首页由 directoryindex 指令控制,按顺序查找并返回首个存在的文件;可修改主配置文件或 .htaccess 设置优先顺序,需重启服务且注意作用域与大小写。

Apache 的默认首页由 DirectoryIndex 指令控制,不是 PHP 决定的,而是 Web 服务器在收到目录请求(如访问 /)时,按顺序查找并返回的第一个存在文件。
修改主配置文件(推荐,全局生效)
打开 Apache 主配置文件(通常是 httpd.conf 或 extra/httpd-default.conf),搜索 DirectoryIndex。默认行类似:
把它改成你想要的优先顺序,例如让 home.php 优先:
注意:多个文件名用空格分隔;改完必须重启 Apache(如 sudo apachectl restart 或通过 XAMPP/WAMP 控制面板)才生效。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
用 .htaccess 局部覆盖(无需管理员权限)
在项目根目录新建或编辑 .htaccess 文件,写入:
该设置仅对当前目录及子目录有效,但需确保对应目录的 AllowOverride 包含 Indexes(XAMPP/WAMP 默认开启)。注意:.htaccess 中的 DirectoryIndex 会完全替代全局配置,不合并。
确认配置是否真正生效
Apache 只在特定作用域内读取 DirectoryIndex,常见失效原因包括:
- 指令写在错误位置(比如放在
<ifmodule></ifmodule>外或未被<virtualhost></virtualhost>/<directory></directory>包裹) - 请求路径与配置作用域不匹配(如为
/var/www/html配了,但实际访问的是/blog/) - 存在更高优先级的配置(如
welcome.conf覆盖了默认行为) - 文件名大小写不符(
Index.html≠index.html)或文件实际不存在
Nginx 用户注意
如果你用的是 Nginx(如 Laragon、Docker 环境),DirectoryIndex 完全无效。应改用 index 指令,例如在 location / { } 块中写:










