phpenv 的默认首页由 apache 的 directoryindex 指令控制,需修改 d:\phpenv\apache24\conf\httpd.conf 中的 directoryindex 行(如设为 directoryindex index.php index.htm index.html),并重启 apache;若不生效,常见原因包括未重启服务、配置作用域错误或文件名大小写/空格不当。

phpEnv 是 Windows 下常见的集成环境(类似 XAMPP/WAMP),它默认用 Apache 作为 Web 服务器,而「默认首页」行为完全由 Apache 的 DirectoryIndex 指令控制,和 PHP 本身无关。改错地方、不重启、路径写错、大小写敏感,都会导致你放了 index.php 却打不开首页。
在哪改 phpEnv 的 DirectoryIndex 配置
phpEnv 的 Apache 配置文件路径通常是:D:\phpEnv\Apache24\conf\httpd.conf(具体以你安装时的路径为准)。不要去改 htdocs 目录下的文件,那是网站内容,不是配置。
- 用记事本或 VS Code 打开
httpd.conf - 搜索
DirectoryIndex,通常在第 270 行左右,位于<ifmodule dir_module></ifmodule>块内 - 原始行可能是:
DirectoryIndex index.html - 改成你想要的顺序,例如优先
index.php,再退到index.htm和index.html:DirectoryIndex index.php index.htm index.html - 保存文件
为什么改完没生效?三个最常卡住的地方
改完不生效,90% 是栽在这三处:
-
没重载 Apache 配置:phpEnv 界面点「重启 Apache」或手动执行
httpd -k restart(进D:\phpEnv\Apache24\bin目录运行);只改文件不重启 = 白改 -
配置作用域不对:如果你自定义了
DocumentRoot "D:\phpEnv\www",但没同步修改对应<directory></directory>块里的DirectoryIndex,那全局设置可能被覆盖——直接在该<directory></directory>块里再写一行DirectoryIndex更稳妥 -
文件名大小写或空格错误:Windows 文件系统不区分大小写,但 Apache 配置是区分的;
Index.PHP≠index.php;也别加引号、逗号或换行,DirectoryIndex "index.php"会当成查找一个叫"index.php"(带英文引号)的文件
用 .htaccess 局部覆盖更灵活
如果你不想动主配置,或者只希望某个子目录(比如 /admin/)用 home.php 当首页,就用 .htaccess:
- 在目标目录(如
D:\phpEnv\www\admin)下新建文件.htaccess - 写入:
DirectoryIndex home.php index.php - 确保该目录的 Apache 配置允许重写:
AllowOverride Indexes或AllowOverride All(在httpd.conf对应<directory></directory>块里检查) - 注意:
.htaccess只对当前目录及子目录生效,且每次请求都要读取解析,性能略低
真正容易被忽略的是:Apache 查找默认首页是「按顺序逐个判断文件是否存在」,而不是「匹配扩展名」。哪怕你写了 DirectoryIndex index.php index.html,但根目录下只有 index.htm,它也不会加载——因为 index.htm 不在列表里。顺序、存在性、路径权限,三者缺一不可。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











