访问 localhost 自动跳转至 /dashboard 是因 xampp 的 htdocs/index.php 内含 header("location: /dashboard/") 重定向语句;删该文件、替换为自定义 index.php 或重命名 dashboard.php 即可解决,注意清除浏览器缓存。

为什么访问 localhost 会自动跳转到 /dashboard/
XAMPP 默认把 htdocs 目录下的 index.php 设为重定向入口,它内部用 header("Location: /dashboard/") 强制跳转。这不是 Apache 配置问题,而是 PHP 脚本行为——你看到的“localhost 页面”根本不是空目录或你自己的项目,而是 XAMPP 自带的跳转页。
直接替换或删除 htdocs/index.php 是最简方案
进到 XAMPP 安装目录(比如 C:\xampp\htdocs 或 /opt/lampp/htdocs),找到并处理这个文件:
- 删掉
index.php:Apache 会按默认索引规则找index.html、index.htm等,适合放静态页 - 替换成你自己的
index.php:比如只写<?php echo "Hello from my app"; ?>,确保没任何header("Location: ...") - 若想保留 dashboard 入口但不干扰根路径,可改名为
dashboard.php,再手动访问http://localhost/dashboard.php
修改 Apache 的 DirectoryIndex 不解决根本问题
有人试过在 httpd.conf 里调换 DirectoryIndex 顺序,比如改成 DirectoryIndex index.html index.php,但这没用——因为 index.php 本身就会执行跳转,Apache 还没来得及返回内容,PHP 就已发了 302 响应。真正起作用的是脚本逻辑,不是文件匹配顺序。
Mac/Linux 用户注意权限和路径大小写
在 macOS 或 Linux 上,XAMPP 的 htdocs 实际指向 /Applications/XAMPP/xamppfiles/htdocs 或 /opt/lampp/htdocs,别错进系统 /var/www;另外文件名大小写敏感,Index.php 和 index.php 是两个文件,确认你编辑的是小写的那个。
跳转逻辑藏得浅,改起来快,但容易反复踩坑的地方是:你以为删了文件就完事,结果浏览器缓存了 302 重定向,清下 localhost 的缓存或换隐身窗口再试。










