documentroot 必须为绝对路径且无尾斜杠,listen 需在 httpd.conf 中显式添加,virtualhost 必须配合 directory 权限配置,httpd-vhosts.conf 必须被主配置 include 加载,改完需 httpd -t 验证并完整重启 apache。

DocumentRoot 路径必须是绝对路径,且不能带尾斜杠
改错最常见原因就是复制粘贴时多了一个 /,比如写成 "D:/xampp/htdocs/project/" —— Apache 会直接报 403 或 404。正确写法是 "D:/xampp/htdocs/project"(Windows)或 /opt/lampp/htdocs/project(Linux/macOS)。路径中用正斜杠 / 或双反斜杠 \ 都可以,但单反斜杠 会导致解析失败。
Listen 指令必须在 httpd.conf 中显式添加,不能只靠 VirtualHost
只在 httpd-vhosts.conf 里写 <virtualhost></virtualhost> 是无效的。Apache 启动时根本不会监听 8080 端口,浏览器访问会直接显示“连接被拒绝”。必须打开 D:/xampp/apache/conf/httpd.conf,在已有 Listen 80 下方追加:
Listen 8080 Listen 8081
注意:不要删掉 Listen 80,否则默认端口失效;也不要写成 Listen :8080 或 Listen 0.0.0.0:8080(XAMPP 默认配置不支持这种写法,会启动失败)。
VirtualHost 必须配合 Directory 权限控制,否则 403 Forbidden
即使 DocumentRoot 路径正确、端口也监听了,仍可能遇到 403 错误。这是因为 XAMPP 新版(如 8.x)默认禁用了目录访问权限。必须在 <virtualhost></virtualhost> 内部或全局配置中显式放开:
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
<directory></directory>Options Indexes FollowSymLinksAllowOverride AllRequire all granted
旧版 Apache(2.2)用的是 Order deny,allow + Allow from all,新版(2.4+)必须用 Require all granted,混用会导致语法错误或权限不生效。
httpd-vhosts.conf 文件必须被主配置加载
检查 D:/xampp/apache/conf/httpd.conf 是否启用了虚拟主机配置。搜索这行:
Include conf/extra/httpd-vhosts.conf
确保它前面没有 #。如果被注释了,哪怕 httpd-vhosts.conf 里写得再对,Apache 也会完全忽略所有 <virtualhost></virtualhost> 块。改完记得用命令验证语法:httpd -t(在 XAMPP 控制面板里点 “Shell” 进入命令行执行),返回 Syntax OK 才算真正就绪。










