官方网站 云服务器 专用服务器香港云主机28元月 全球云主机40+ 数据中心地区 成品网站模版 企业建站 业务咨询 微信客服 控制版面

XAMPP虚拟主机配置文件

admin 7个月前 (01-04) 阅读数 195 #虚拟主机知识

XAMPP虚拟主机配置详解:轻松搭建本地多站点开发环境

在Web开发过程中,本地调试是不可或缺的一环,为了尽可能贴近真实服务器的运行环境,越来越多开发者选择使用 XAMPP 作为本地集成开发环境(Local Development Environment),XAMPP 是一款开源免费的跨平台软件包,集成了 Apache、MySQL、PHP 和 Perl 等核心组件,安装便捷、配置灵活,特别适合初学者和中级开发者快速上手。

当我们在同一台电脑上需要并行开发多个项目时,如何高效管理这些不同的网站就成了一个现实挑战,如果所有项目都通过 localhost/project1localhost/project2 这样的路径访问,不仅容易混淆,也不利于模拟真实的域名结构。配置虚拟主机(Virtual Host) 就成为提升开发效率的关键手段。

本文将深入解析 XAMPP 中虚拟主机的配置方法,从基础概念到实际操作,帮助你掌握如何通过修改关键配置文件实现本地多站点环境的搭建,解决常见问题,打造清晰、高效的开发工作流。


什么是虚拟主机?

虚拟主机(Virtual Host)是一种让单台物理服务器托管多个独立网站的技术,它允许不同的域名指向同一个服务器上的不同目录,从而对外表现为多个独立站点。

在本地开发中,我们可以通过配置 Apache 的虚拟主机功能,为每个项目分配一个“伪域名”,

  • project1.local
  • project2.dev
  • blog.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 80Listen 8080
  • 或关闭占用端口的程序后重启 Apache

⚠️ 提示:建议优先解决 80 端口占用问题,以避免后续配置复杂化。

规划项目存放路径

推荐将所有开发项目集中存放在 XAMPP 的默认根目录下:

C:\xampp\htdocs\project1
C:\xampp\htdocs\project2

这样做不仅便于统一管理,也有助于减少路径错误的风险,你也可以自定义项目路径(如 D:\projects),但需在配置中正确指定。

使用管理员权限编辑器打开配置文件

由于涉及系统级配置文件的修改,必须使用具有管理员权限的文本编辑器进行操作,否则可能无法保存更改。

推荐工具:


启用虚拟主机支持(修改 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 控制面板:

  1. 点击 Apache 旁边的“Stop”停止服务;
  2. 再次点击“Start”重新启动。

这一步是为了使所有配置变更生效。

打开浏览器,依次访问:

如果页面成功加载对应项目的首页内容(如 index.php 或 index.html),说明虚拟主机配置已成功!


常见问题及解决方案

出现 403 Forbidden 错误

原因分析:通常是目录权限未正确设置,或路径拼写错误。

解决方案

  • 检查 <Directory> 区块是否存在,且包含 Require all granted
  • 确保 DocumentRoot<Directory> 路径完全一致
  • 查看 Apache 错误日志(位于 C:\xampp\apache\logs\error.log)定位具体问题

域名无法解析(ERR_NAME_NOT_RESOLVED)

原因分析:系统未识别自定义域名。

版权声明
本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主 如果涉及侵权请尽快告知,我们将会在第一时间删除。
本站原创内容未经允许不得转载,或转载时需注明出处:特网云知识库

热门