指定端口的XAMPP虚拟主机无法工作,本地域名解析失败
解决XAMPP本地域名DNS解析失败及跳转问题
核心问题分析
- hosts文件格式错误:hosts仅负责域名到IP的映射,不能在IP后附加端口号,这是DNS解析失败的直接原因。
- VirtualHost配置冗余冲突:存在重复的
Options指令,且混合使用新旧Apache权限控制规则,可能引发服务配置异常。
修复步骤
1. 修正hosts文件
将/etc/hosts(Linux/macOS)或C:\Windows\System32\drivers\etc\hosts(Windows)中的配置修改为:
127.0.0.1 mydomainname.test ::1 mydomainname.test # 可选,适配IPv6环境
2. 优化VirtualHost配置
清理冗余指令,统一权限规则,修改后的配置如下:
<VirtualHost *:8081> DocumentRoot "C:/xampp/htdocs/sam" ServerName mydomainname.test ServerAlias mydomainname.test <Directory "C:/xampp/htdocs/sam"> Options Indexes MultiViews FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
- 移除重复的
Options All指令,保留必要的目录选项 - 删除旧版权限控制规则
Order Deny,Allow和Allow from all,仅保留Apache 2.4+的Require all granted
3. 生效配置
- 刷新本地DNS缓存:
- Windows:打开命令提示符执行
ipconfig /flushdns - Linux/macOS:终端执行
sudo dscacheutil -flushcache(macOS)或sudo systemd-resolve --flush-caches(Linux)
- Windows:打开命令提示符执行
- 重启XAMPP中的Apache服务
4. 正常访问
访问时需携带端口号:http://mydomainname.test:8081
若想省略端口,可将VirtualHost监听端口改为*:80,重启Apache后直接访问http://mydomainname.test即可。
内容的提问来源于stack exchange,提问作者etranz
相关产品推荐
相关产品推荐

