必须同步修改三处:监听端口(Listen 80→8080,含IPv6)、ServerName(localhost:80→localhost:8080)、虚拟主机绑定(*:8080并配DocumentRoot与Directory路径一致),且需启用Include、添加Require all granted、访问时必须带:8080。

能直接配,但必须同步改三处:监听端口、虚拟主机绑定、本地访问地址。漏掉任一环节都会 403、拒绝连接或跳回默认页。
Listen 80 改成 Listen 8080 并确认 ServerName 同步更新
Apache 启动失败或仍走 80 端口,大概率是只改了 Listen 没动 ServerName。这两处必须一致,否则重定向和虚拟主机匹配会出错。
- 打开
C:\xampp\apache\conf\httpd.conf(路径按你实际安装位置调整) - 搜索
Listen 80,改成Listen 8080(别只改第一处,全文共 2–3 处,含 IPv6 行Listen [::0]:80,也得改成[::0]:8080) - 继续搜索
ServerName localhost:80,改成ServerName localhost:8080;若该行被注释(开头有#),需取消注释再修改 - 保存后重启 Apache,不重启配置不生效
httpd-vhosts.conf 中定义 *:8080 虚拟主机并放开目录权限
只改端口不配虚拟主机,localhost:8080 仍会加载默认 htdocs;而即使配了,若没开权限,会直接报 403 Forbidden。
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
- 确保
httpd.conf里这行已启用:Include "conf/extra/httpd-vhosts.conf"(删掉开头的#) - 编辑
C:\xampp\apache\conf\extra\httpd-vhosts.conf,在末尾添加:
<VirtualHost *:8080>
DocumentRoot "D:/myproject"
ServerName localhost
<Directory "D:/myproject">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
-
DocumentRoot和<Directory>路径必须完全一致,且路径中不能有中文或空格(建议用短英文路径) -
Require all granted是 Apache 2.4+ 的权限写法,别沿用旧版的Order allow,deny,否则 403
访问时必须带 :8080,且 hosts 不影响本地测试
用域名(如 dev.local)绑 8080 端口是可行的,但纯本地开发没必要绕路;直接输地址最稳,但容易忘加端口号。
- 浏览器访问地址必须是
http://localhost:8080,不是http://localhost—— 后者仍走 80 端口,要么失败,要么进别的服务 - 如果想用自定义域名(比如
myapp.test),需同时做两件事:hosts文件加127.0.0.1 myapp.test,且httpd-vhosts.conf里ServerName改成myapp.test,<VirtualHost>保持*:8080 -
hosts文件本身对端口无影响,它只管域名→IP 解析;端口由 Apache 的Listen和<VirtualHost>共同决定
最容易被忽略的是 Require all granted 这一行——Apache 2.4 默认拒绝所有外部访问,连本机都拦,不显式放行就永远 403。另外,路径里的反斜杠 \ 在 Windows 下没问题,但复制粘贴时容易混入全角字符或换行,建议手动输入或用正斜杠 / 替代。

















