需启用httpd-vhosts.conf、配置hosts映射、添加virtualhost块、设置_default_:80默认宿主、刷新dns缓存,方可实现xampp本地多域名访问。

如果您希望在本地开发环境中通过自定义域名访问多个网站项目,XAMPP 必须正确配置虚拟主机与系统级域名解析。以下是实现该目标的多种可行方法:
一、启用虚拟主机主配置文件
Apache 默认不加载虚拟主机配置,必须显式启用 httpd-vhosts.conf 文件的包含指令,否则所有后续配置均无效。
1、以管理员身份打开 XAMPP 安装目录下的 xampp\apache\conf\httpd.conf 文件。
2、使用 Ctrl+F 搜索关键词 Include conf/extra/httpd-vhosts.conf。
3、确认该行前无 # 符号;若存在,则删除该符号以取消注释。
4、保存文件并关闭编辑器。
二、配置本地 hosts 域名映射
Windows 系统需将自定义域名强制解析至本机回环地址,绕过公共 DNS 查询,这是实现域名访问的前提。
1、以管理员身份运行记事本或 VS Code。
2、打开系统文件路径:C:\Windows\System32\drivers\etc\hosts。
3、在文件末尾新增一行,格式为:127.0.0.1 mysite.local(可替换为任意所需域名,如 test.dev、blog.localhost)。
4、如需绑定多个站点,每行一个映射,例如:127.0.0.1 api.myproject.com 和 127.0.0.1 admin.myproject.com。
5、保存文件。
三、添加独立虚拟主机配置块
每个域名需对应一个
1、打开 XAMPP 安装目录下的 xampp\apache\conf\extra\httpd-vhosts.conf 文件。
2、删除或注释掉文件中默认的示例代码(以 # 开头的整段
3、在文件末尾添加如下结构化配置(以 mysite.local 为例):
DocumentRoot "D:/xampp/htdocs/mysite"
ServerName mysite.local
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
4、为第二个站点添加另一组完整配置,仅修改 DocumentRoot 和 ServerName,例如:DocumentRoot "D:/projects/blog" 与 ServerName blog.localhost。
四、处理 Apache 默认站点干扰
若访问自定义域名时仍显示 XAMPP 默认首页,说明 Apache 将请求错误匹配到了默认虚拟主机,需显式声明默认宿主以释放优先级。
1、在 httpd-vhosts.conf 文件最顶部插入以下配置:
DocumentRoot "D:/xampp/htdocs"
2、确保该块位于所有自定义
3、此配置明确将未匹配域名的请求导向 htdocs 目录,避免覆盖用户定义的域名逻辑。
五、强制刷新系统 DNS 缓存
修改 hosts 文件后,操作系统可能缓存旧解析结果,导致新域名无法立即生效。
1、以管理员身份打开 Windows 命令提示符(CMD)或 PowerShell。
2、执行命令:ipconfig /flushdns。
3、如需验证解析是否成功,执行:ping mysite.local,应返回 127.0.0.1。
4、若返回其他 IP 或超时,请检查 hosts 文件格式(禁止使用中文空格、确保换行符为 LF 或 CRLF)、权限(是否以管理员保存)及拼写一致性。










