跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

XAMPP配置二级域名访问 XAMPP本地模拟多级域名环境

必须三步全对:改httpd.conf启用虚拟主机、改httpd-vhosts.conf定义域名与路径并配置Directory权限、改hosts文件做本地解析;漏任一步均导致404或跳回localhost。 能配,但必须三步全对:改
httpd.conf
启用虚拟主机、改
httpd-vhosts.conf
定义域名与路径、改系统
hosts
文件做本地解析。漏任何一步,浏览器都会 404 或直接跳回
localhost
。 必须先启用
httpd-vhosts.conf
加载 很多人改完
httpd-vhosts.conf
没反应,根本原因是 Apache 根本没读它。打开
XAMPP\apache\conf\httpd.conf
,搜索:
Include conf/extra/httpd-vhosts.conf
确保这行前面没有
#
;如果有,删掉。保存后重启 Apache —— 这不是可选项,是启动虚拟主机的开关。 常见错误现象: 所有域名(包括
localhost
)都指向第一个
VirtualHost
的
DocumentRoot
改了
httpd-vhosts.conf
但访问
test.local
仍显示 XAMPP 默认页
httpd-vhosts.conf
中的
VirtualHost
必须带完整权限控制 只写
DocumentRoot
和
ServerName
是不够的。Apache 2.4+ 默认拒绝所有目录访问,必须显式放行。正确结构示例:
DocumentRoot "D:/xampp/htdocs/myapp" ServerName api.dev.local Options Indexes FollowSymLinks AllowOverride All Require all granted
关键点:
DocumentRoot
必须是绝对路径,结尾不加斜杠
路径必须和
DocumentRoot
完全一致(大小写、斜杠方向都要对) 别用
Allow from all
—— 这是 Apache 2.2 语法,XAMPP 通常带的是 2.4,会报
Invalid command 'Allow'
如果项目含 PHP,
AllowOverride All
才能让
.htaccess
生效 Windows
hosts
文件必须用管理员权限保存 路径是
C:\Windows\System32\drivers\etc\hosts
,但直接双击编辑常因权限不足导致保存失败,看似改了实则没写入。正确做法: 用记事本或 VS Code「以管理员身份运行」,再通过文件 → 打开选中该
hosts
文件 在末尾添加两行(注意空格,不是 Tab):
127.0.0.1 frontend.dev.local 127.0.0.1 api.dev.local
验证是否生效: 命令行执行
ping frontend.dev.local
,应返回
Reply from 127.0.0.1
若提示“找不到主机”,说明
hosts
没生效,大概率是没用管理员权限保存 改完 hosts 不需要重启 Apache,但浏览器可能缓存 DNS,建议清空 DNS 缓存:
ipconfig /flushdns
二级域名配置最容易被忽略的兼容性细节 Chrome 和 Edge 从 2022 年起默认禁止使用
.dev
、
.app
等公共后缀作本地域名,会强制跳 HTTPS 并报错。所以: 别用
myapp.dev
,改用
myapp.test
、
myapp.local
或
myapp.localhost
.localhost
是 IETF 标准保留域名,无需证书且所有浏览器都支持纯 HTTP 如果用了
.dev
却打不开,看地址栏是否自动变成
https://myapp.dev
—— 这就是 HSTS 强制升级导致的 多个二级域名共存时,
ServerAlias
可追加别名,比如:
ServerAlias www.api.dev.local api.dev.local
,但主域名仍以
ServerName
为准 真正卡住人的往往不是语法,而是
hosts
没写对、
httpd.conf
没解注、或者权限没给够 —— 这三处检查完,95% 的二级域名问题就解决了。

相关文章