登录
首页 >  文章 >  php教程

XAMPP二级域名配置教程

时间:2026-05-16 08:17:28 393浏览 收藏

本文详解XAMPP环境下配置二级域名(如api.dev.local)指向本地特定端口(如8080)的完整闭环流程,直击开发者常踩的“看似配好却无法访问”痛点——必须同步完成三步关键操作:修改系统hosts文件实现本地DNS解析、在httpd.conf中显式声明Listen端口并启用虚拟主机配置加载、在httpd-vhosts.conf中精准定义VirtualHost块;任一环节遗漏或配置错位(如端口冲突、路径含中文、Require语法过时、未彻底重启Apache),都会导致连接拒绝、403禁止或空白页面等典型故障,真正帮你从“假装成功”走向稳定可用。

XAMPP如何配置二级域名到特定端口

XAMPP 配置二级域名到特定端口,本质是两件事同时生效:DNS 层面让浏览器把域名解析到 127.0.0.1,Apache 层面让该端口监听并匹配对应 ServerName。漏掉任一环节,都会出现“无法访问”或“连接被拒绝”。

修改 Windows hosts 文件绑定域名到本地

这是最常被跳过的前置步骤。没有它,浏览器根本不会把你的二级域名发给本机 Apache。

  • 用管理员权限打开 C:\Windows\System32\drivers\etc\hosts
  • 在文件末尾新增一行(注意:不能有中文空格、不能用 Tab 缩进):
    127.0.0.1 api.dev.local
  • 可一次加多个:
    127.0.0.1 api.dev.local
    127.0.0.1 admin.dev.local
    127.0.0.1 mobile.dev.local
  • 改完保存;若提示无权限,先另存为桌面再复制覆盖原文件

启用并配置 httpd-vhosts.conf 中的虚拟主机

Apache 默认不加载虚拟主机配置,必须手动开启,否则所有 块都无效。

  • 打开 D:\xampp\apache\conf\httpd.conf,搜索 Include conf/extra/httpd-vhosts.conf
  • 确保该行前面**没有 #**;如果被注释了,删掉 # 并保存
  • 打开 D:\xampp\apache\conf\extra\httpd-vhosts.conf,在末尾添加(以 api.dev.local:8080 为例):
    <VirtualHost *:8080><br>    ServerName api.dev.local<br>    DocumentRoot "D:/xampp/htdocs/api-project"<br>    <Directory "D:/xampp/htdocs/api-project"><br>        AllowOverride All<br>        Require local<br>    </Directory><br></VirtualHost>
  • ServerName 必须和 hosts 里写的完全一致(大小写不敏感但建议全小写)
  • DocumentRoot 路径中避免中文、空格、特殊符号;推荐使用正斜杠 / 或双反斜杠 \\

在 httpd.conf 中显式声明监听端口

Apache 不会自动监听你写在 里的端口——你得先告诉它“我要听这个端口”。

  • 回到 D:\xampp\apache\conf\httpd.conf
  • 搜索 Listen 80,在其下方新增一行:
    Listen 8080
  • 支持多个端口,每行一个:
    Listen 8080
    Listen 8081
    Listen 8082
  • 不要写成 Listen *:8080(XAMPP 默认配置不支持这种写法,会导致启动失败)
  • 如果端口被占用(比如 Skype、IIS、其他服务),Apache 启动会报错,可用 netstat -ano | findstr :8080 查进程

重启 Apache 并验证常见错误

改完三处配置后,Apache 必须完全重启才能加载新设置;只“重启”面板里的服务有时不生效。

  • 在 XAMPP 控制面板中点击 Stop Apache → 等状态变灰 → 再点 Start
  • 访问 http://api.dev.local:8080;若看到目录列表或首页,说明成功
  • 若出现 ERR_CONNECTION_REFUSED:检查 Listen 是否添加、端口是否被占、Apache 是否真正启动
  • 若出现 403 Forbidden:大概率是 块缺失或 Require local 写错(旧版用 Allow from all,新版必须用 Require 语法)
  • 若页面空白但无报错:检查 DocumentRoot 路径是否存在、是否有 index.phpindex.html

真正容易卡住的地方不是语法,而是三处配置(hosts / httpd.conf 的 Listen 和 Include / httpd-vhosts.conf 的 VirtualHost)必须全部对齐,且 Apache 进程要彻底重启。少一步,就只是在本地“假装配置成功”。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>