xampp 8.1.25 默认不启用虚拟主机配置,必须取消httpd.conf中#include conf/extra/httpd-vhosts.conf的注释、正确配置httpd-vhosts.conf中的virtualhost块(含require all granted和正斜杠路径)、以管理员权限修改hosts文件添加127.0.0.1映射,并用httpd -t验证语法后重启apache。

直接说结论:XAMPP 8.1.25 默认不启用虚拟主机配置,httpd-vhosts.conf 被注释掉,且 DocumentRoot 和 Directory 权限配置比旧版更严格——跳过这一步,域名访问必然失败。
确认 Apache 是否加载了虚拟主机配置
XAMPP 8.1.25 的 httpd.conf 中,Include conf/extra/httpd-vhosts.conf 这一行默认带 # 注释。不取消它,后面所有 VirtualHost 配置都无效。
- 打开
D:\xampp\apache\conf\httpd.conf(路径按你实际安装位置调整) - 搜索
httpd-vhosts.conf,找到这一行:#Include conf/extra/httpd-vhosts.conf - 删掉开头的
#,保存文件 - 重启 Apache 服务(必须重启,热重载不生效)
写对 httpd-vhosts.conf 里的 VirtualHost 块
XAMPP 8.1.25 使用 Apache 2.4+,语法和权限模型已变更。Order Allow,Deny 等旧指令彻底失效,必须用 Require 指令;同时 DocumentRoot 路径中的反斜杠 \ 在 Windows 下必须转义为正斜杠 / 或双反斜杠 \,否则 Apache 启动报错。
- 编辑
D:\xampp\apache\conf\extra\httpd-vhosts.conf - 末尾添加(注意路径分隔符和权限指令):
<virtualhost> DocumentRoot "D:/xampp/htdocs/myproject" ServerName myproject.test <directory> Options Indexes FollowSymLinks AllowOverride All Require all granted </directory></virtualhost> - 不能写成
DocumentRoot "D:\xampp\htdocs\myproject"(会解析失败) - 不能漏掉
<directory></directory>块或写错Require语句(否则 403 Forbidden)
改 hosts 文件时别忽略管理员权限
Windows 下修改 C:\Windows\System32\drivers\etc\hosts 必须以管理员身份运行编辑器,否则保存失败但无提示,导致域名始终无法解析。
- 右键记事本 → “以管理员身份运行”
- 用它打开
hosts文件,在末尾新增:127.0.0.1 myproject.test - 保存时若提示“需要提供管理员权限”,说明没用管理员模式打开,得重来
- 改完不用重启系统,但建议清 DNS 缓存:
ipconfig /flushdns
访问前先验证 Apache 配置语法是否合法
XAMPP 8.1.25 对配置错误更敏感,哪怕一个空格、少个引号,Apache 就拒绝启动,面板显示红色“Stopped”。靠反复启停试错效率极低。
- 打开命令行(管理员权限),进入:
D:\xampp\apache\bin - 执行:
httpd.exe -t - 如果输出
Syntax OK,说明配置无硬错误 - 如果报错,会明确指出哪一行、哪个文件出问题(例如
Invalid command 'Order'就是用了 Apache 2.2 语法) - 这个检查比盲点“Start”按钮快得多
最常被忽略的是:XAMPP 8.1.25 默认关闭了 .htaccess 支持(AllowOverride None),即使你写了重写规则,也不生效。要让 Laravel、WordPress 等依赖重写的项目跑起来,<directory></directory> 块里必须显式写 AllowOverride All,且确保 mod_rewrite 已在 httpd.conf 中启用(搜索 rewrite,去掉对应行的 #)。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











