必须配置hosts文件映射域名+启用httpd-vhosts.conf+正确定义VirtualHost块,三者缺一不可;其中取消Include注释、DocumentRoot为绝对路径且无尾斜杠、ServerName与hosts一致、保留localhost兜底配置是关键步骤。

要在本地用XAMPP同时运行多个网站项目,并让每个项目拥有独立域名(如 www.project1.dev、admin.local、api.test),必须绕过默认的 localhost/xxx 路径式访问,直接通过浏览器输入域名就能加载对应站点——这依赖 hosts 文件映射 + Apache 虚拟主机精准路由,缺一不可。
修改系统 hosts 文件绑定本地域名
第一步:用管理员权限打开记事本(Windows)或终端 sudo nano /etc/hosts(macOS/Linux),定位到文件末尾。
第二步:追加你要使用的全部域名,每行一个,全部指向 127.0.0.1。例如:
127.0.0.1 www.project1.dev
127.0.0.1 admin.local
127.0.0.1 api.test
【必须保存后才生效,且不能有空格或中文字符】 修改后无需重启系统,但浏览器 DNS 缓存可能残留旧记录,可执行命令 ipconfig /flushdns(Windows)或 sudo dscacheutil -flushcache(macOS)清理。
启用 Apache 虚拟主机配置模块
打开 XAMPP 安装目录下的 xampppacheconfhttpd.conf 文件。
搜索 httpd-vhosts.conf,找到这一行:
#Include conf/extra/httpd-vhosts.conf
删掉开头的 # 号,取消注释,使虚拟主机配置文件被 Apache 加载。
再向下滚动,确认 LoadModule vhost_alias_module modules/mod_vhost_alias.so 这一行未被注释——若已被注释,同样去掉 #。
XAMPP 8.0.30 是一款免费、开源的跨平台 Web 服务器集成包,专为快速搭建本地 PHP 开发环境而设计。该版本核心组件包括:Apache 2.4.56、MySQL 8.0.33、PHP 8.0.30、phpMyAdmin 5.2.1 等。它支持 Windows、Linux 和 macOS 系统,可让开发者在个人电脑上轻松模拟服务器环境,无需复杂配置即可运行 WordPress、Thin
配置多域名对应不同项目目录
打开 xampppacheconfextrahttpd-vhosts.conf 文件,在文件最底部添加以下三组配置(按需增减):
方法一:单域名 → 单目录(推荐新手)
<VirtualHost *:80>
ServerName www.project1.dev
DocumentRoot "C:/xampp/htdocs/project1"
<Directory "C:/xampp/htdocs/project1">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
方法二:同一目录响应多个域名(适合测试镜像或灰度)
<VirtualHost *:80>
ServerName admin.local
ServerAlias api.test
DocumentRoot "C:/xampp/htdocs/backend"
<Directory "C:/xampp/htdocs/backend">
Require all granted
</Directory>
</VirtualHost>
方法三:保留 localhost 默认首页(关键!否则访问 localhost 会跳转到第一个 VirtualHost)
<VirtualHost *:80>
ServerName localhost
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
Require all granted
</Directory>
</VirtualHost>
注意:Windows 路径中使用正斜杠 / 或双反斜杠 \,不能用单反斜杠 ;macOS/Linux 用绝对路径如 /Applications/XAMPP/xamppfiles/htdocs/project1。
重启 Apache 并验证结果
第一步:关闭 XAMPP 控制面板中的 Apache 服务。
第二步:重新点击 Start 启动 Apache。如果启动失败,说明某处配置语法错误——此时不要反复点 Start,先打开 XAMPP 控制面板右上角的 Logs → Apache error.log,查看最后一段红色报错信息,定位到哪一行出错。
第三步:Apache 启动成功后,依次在浏览器地址栏输入:
http://www.project1.dev → 应显示 project1 文件夹下的内容
http://admin.local → 应显示 backend 文件夹下的内容
http://localhost → 应回到 XAMPP 默认欢迎页
若任一域名打不开,优先检查 hosts 是否保存、httpd-vhosts.conf 是否有拼写错误、DocumentRoot 路径是否存在且大小写准确——Windows 不区分大小写,但 macOS/Linux 区分。

















