XAMPP虚拟主机配置文件
XAMPP虚拟主机配置详解:轻松搭建本地多站点开发环境
在Web开发过程中,本地调试是不可或缺的一环,为了尽可能贴近真实服务器的运行环境,越来越多开发者选择使用 XAMPP 作为本地集成开发环境(Local Development Environment),XAMPP 是一款开源免费的跨平台软件包,集成了 Apache、MySQL、PHP 和 Perl 等核心组件,安装便捷、配置灵活,特别适合初学者和中级开发者快速上手。
当我们在同一台电脑上需要并行开发多个项目时,如何高效管理这些不同的网站就成了一个现实挑战,如果所有项目都通过 localhost/project1、localhost/project2 这样的路径访问,不仅容易混淆,也不利于模拟真实的域名结构。配置虚拟主机(Virtual Host) 就成为提升开发效率的关键手段。
本文将深入解析 XAMPP 中虚拟主机的配置方法,从基础概念到实际操作,帮助你掌握如何通过修改关键配置文件实现本地多站点环境的搭建,解决常见问题,打造清晰、高效的开发工作流。
什么是虚拟主机?
虚拟主机(Virtual Host)是一种让单台物理服务器托管多个独立网站的技术,它允许不同的域名指向同一个服务器上的不同目录,从而对外表现为多个独立站点。
在本地开发中,我们可以通过配置 Apache 的虚拟主机功能,为每个项目分配一个“伪域名”,
project1.localproject2.devblog.test
这样,每个项目都可以拥有专属的访问地址,无需依赖复杂的子路径,既方便记忆,又能更好地模拟线上部署的真实场景,尤其适用于测试 Cookie、Session、HTTPS 重定向等对域名敏感的功能。
在 XAMPP 环境下,虚拟主机的配置主要依赖于两个 Apache 核心配置文件:
httpd.conf:Apache 主配置文件httpd-vhosts.conf:专门用于定义虚拟主机的扩展配置文件
接下来我们将一步步完成整个配置流程。
配置前的准备工作
在开始修改配置之前,请确保已完成以下准备工作:
启动并检查 XAMPP 环境
打开 XAMPP 控制面板,启动 Apache 模块,确认状态显示为“Running”,若出现端口冲突(如 80 端口被 IIS、Skype 或其他服务占用),可采取以下措施:
- 修改 Apache 监听端口为
8080(需同步调整访问链接) - 在控制面板点击“Config” → “Apache (httpd.conf)” 修改
Listen 80为Listen 8080 - 或关闭占用端口的程序后重启 Apache
⚠️ 提示:建议优先解决 80 端口占用问题,以避免后续配置复杂化。
规划项目存放路径
推荐将所有开发项目集中存放在 XAMPP 的默认根目录下:
C:\xampp\htdocs\project1
C:\xampp\htdocs\project2
这样做不仅便于统一管理,也有助于减少路径错误的风险,你也可以自定义项目路径(如 D:\projects),但需在配置中正确指定。
使用管理员权限编辑器打开配置文件
由于涉及系统级配置文件的修改,必须使用具有管理员权限的文本编辑器进行操作,否则可能无法保存更改。
推荐工具:
- Notepad++
- Visual Studio Code(启用管理员模式运行)
启用虚拟主机支持(修改 httpd.conf)
进入 XAMPP 安装目录,找到主配置文件:
C:\xampp\apache\conf\httpd.conf
用管理员权限打开该文件,搜索以下行:
#Include conf/extra/httpd-vhosts.conf
将其前面的井号 删除,取消注释,变为:
Include conf/extra/httpd-vhosts.conf
✅ 这一步至关重要 —— 它告诉 Apache 加载额外的虚拟主机配置文件,如果不启用此选项,后续在 httpd-vhosts.conf 中所做的任何设置都将无效。
建议检查默认文档根目录是否正确:
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
除非你有特殊需求(如更改 htdocs 路径或限制访问权限),否则保持默认即可。
修改完成后保存文件。
配置虚拟主机(编辑 httpd-vhosts.conf)
打开虚拟主机专用配置文件:
C:\xampp\apache\conf\extra\httpd-vhosts.conf
清空或保留原有示例内容,在末尾添加如下格式的虚拟主机配置:
<VirtualHost *:80>
ServerName project1.local
DocumentRoot "C:/xampp/htdocs/project1"
<Directory "C:/xampp/htdocs/project1">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName project2.dev
DocumentRoot "C:/xampp/htdocs/project2"
<Directory "C:/xampp/htdocs/project2">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
参数说明:
| 指令 | 作用 |
|---|---|
ServerName |
自定义域名,用于浏览器访问(需配合 hosts 文件解析) |
DocumentRoot |
项目所在的实际物理路径,注意路径分隔符建议使用正斜杠 或双反斜杠 \\,防止转义错误 |
<Directory> |
定义该目录的访问权限 |
Options Indexes FollowSymLinks |
允许目录浏览(可选)和符号链接 |
AllowOverride All |
支持 .htaccess 文件覆盖配置(常用于 URL 重写) |
Require all granted |
授予所有客户端访问权限 |
💡 小技巧:你可以复制上述结构,为每一个新项目添加新的 <VirtualHost> 块,实现无限扩展。
📌 注意事项:
- 所有
ServerName必须唯一。- 如果使用了非标准端口(如 8080),则
VirtualHost应写成<VirtualHost *:8080>,且ServerName也应包含端口号。
配置本地 DNS 映射(修改 hosts 文件)
为了让操作系统识别你自定义的域名(如 project1.local),必须修改系统的 hosts 文件,建立域名到本地 IP 的映射关系。
文件路径如下:
C:\Windows\System32\drivers\etc\hosts
⚠️ 此文件受系统保护,必须以管理员权限打开编辑。
使用记事本或代码编辑器以“管理员身份运行”后打开该文件,在末尾添加以下内容:
0.0.1 project1.local 127.0.0.1 project2.dev
✅ 推荐使用
0.0.1而非0.1(原文中的笔误已修正)
保存文件,当你在浏览器输入 http://project1.local,系统会自动将其解析为本机地址,进而由 Apache 根据虚拟主机规则加载对应项目。
重启 Apache 并测试访问
完成以上所有配置后,回到 XAMPP 控制面板:
- 点击 Apache 旁边的“Stop”停止服务;
- 再次点击“Start”重新启动。
这一步是为了使所有配置变更生效。
打开浏览器,依次访问:
如果页面成功加载对应项目的首页内容(如 index.php 或 index.html),说明虚拟主机配置已成功!
常见问题及解决方案
出现 403 Forbidden 错误
原因分析:通常是目录权限未正确设置,或路径拼写错误。
解决方案:
- 检查
<Directory>区块是否存在,且包含Require all granted - 确保
DocumentRoot和<Directory>路径完全一致 - 查看 Apache 错误日志(位于
C:\xampp\apache\logs\error.log)定位具体问题
域名无法解析(ERR_NAME_NOT_RESOLVED)
原因分析:系统未识别自定义域名。
版权声明
本站原创内容未经允许不得转载,或转载时需注明出处:特网云知识库
特网科技产品知识库


