如何在Apache中包含httpd vhosts conf配置文件
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
当然可以!以下是我为你精心修正错别字、润色语句、补充内容并确保原创性后的完整优化版本,结构更清晰,语言更流畅,内容更丰富,适合作为技术教程发布或内部文档使用:
在现代Web开发实践中,开发者往往需要同时维护多个项目——可能是公司官网、后台管理系统、博客平台、API服务等,每个项目通常应有独立的域名或子域名,以便模拟真实线上环境、避免路径冲突、提升调试效率。
默认情况下,WAMP(Windows + Apache + MySQL + PHP)仅提供一个根目录 http://localhost 用于访问所有项目,这显然无法满足复杂项目的开发需求。
幸运的是,Apache服务器原生支持虚拟主机(Virtual Host)功能,通过合理配置,你可以在本地轻松实现“一机多站”,
project1.localblog.testapi.local
这些自定义域名将分别指向不同的项目文件夹,就像部署在真实的服务器上一样!
本文将手把手带你完成从零开始的WAMP虚拟主机配置全过程,并附带常见问题排查技巧与最佳实践建议,助你构建专业高效的本地开发环境。
✅ 第一步:确认WAMP服务正常运行
在进行任何配置前,请先确保你的WAMP服务已成功启动:
- 托盘图标显示为绿色;
- Apache 和 MySQL 服务均处于“Running”状态;
- 浏览器访问 http://localhost 可正常看到欢迎页面。
💡 提示:若出现“端口被占用”错误(如80端口),可尝试关闭IIS、Skype或其他占用端口的应用程序;也可修改Apache监听端口(如改为8080),但这会增加后续配置复杂度,建议优先释放默认80端口。
✏️ 第二步:修改系统 hosts 文件,绑定自定义域名
为了让浏览器识别你自定义的本地域名(如 myproject.local),你需要手动编辑 Windows 的 hosts 文件,将其解析到本机 IP 地址 0.0.1。
操作步骤如下:
- 打开路径:
C:\Windows\System32\drivers\etc\ - 用管理员权限打开记事本(右键 → “以管理员身份运行”)
- 在记事本中打开
hosts文件 - 在文件末尾添加如下内容:
0.0.1 myproject.local 127.0.0.1 blog.test 127.0.0.1 api.local
⚠️ 注意:原文中误写为
0.1,这是无效IP地址,已修正为标准回环地址0.0.1
保存文件(可能需关闭防病毒软件或UAC权限拦截)
✅ 验证是否生效: 打开命令行工具(CMD 或 PowerShell),输入:
ping myproject.local
如果返回的是 0.0.1,说明配置成功!
🔧 第三步:启用 Apache 虚拟主机模块
WAMP 默认未开启虚拟主机功能,必须手动激活相关模块。
图形界面操作(推荐新手)
点击 WAMP 托盘图标 → Apache → Apache modules → 勾选:
vhost_alias_module
❗注意:“vhost_alias_module” 是用于动态虚拟主机的模块,而我们实际需要的是加载虚拟主机配置文件的功能,真正关键的是取消对
Include conf/extra/httpd-vhosts.conf的注释(见下文),此处保留该操作仅为兼容旧版说明,重点请看方法二。
手动编辑 httpd.conf(推荐进阶用户)
找到 Apache 主配置文件:
路径示例:wamp64\bin\apache\apache2.x.x\conf\httpd.conf
搜索以下行:
# Virtual hosts # Include conf/extra/httpd-vhosts.conf
去掉前面的 注释符号,使其变为:
Include conf/extra/httpd-vhosts.conf
这样 Apache 就会在启动时读取虚拟主机配置文件了。
📄 第四步:配置虚拟主机规则(核心步骤)
现在进入最关键的环节——编写具体的虚拟主机配置。
打开文件:
路径示例:wamp64\bin\apache\apache2.x.x\conf\extra\httpd-vhosts.conf
清空或注释掉原有的示例代码(保留作参考亦可),然后按需添加自己的站点配置:
<VirtualHost *:80>
DocumentRoot "C:/wamp64/www/myproject"
ServerName myproject.local
<Directory "C:/wamp64/www/myproject">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/wamp64/www/blog"
ServerName blog.test
<Directory "C:/wamp64/www/blog">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
参数详解:
DocumentRoot:项目实际存放路径,注意使用正斜杠 ,避免反斜杠\引发路径错误。ServerName:你在 hosts 中设置的域名。<Directory>块中的配置至关重要:Options Indexes FollowSymLinks:允许目录列表和符号链接。AllowOverride All:允许.htaccess文件覆盖配置(适用于 WordPress、Laravel 等框架)。Require all granted:开放所有访问权限,防止 403 Forbidden 错误。
✨ 小贴士:你可以复制这段模板,只需替换路径和域名即可快速新增站点!
🔄 第五步:重启 Apache 服务使配置生效
配置完成后,务必重启 Apache!
点击 WAMP 托盘图标 → Restart All Services
方式二:单独重启 Apache(更快捷)
等待几秒后,在浏览器分别访问:
如果页面正确加载对应项目内容,则恭喜你——虚拟主机配置成功!
🏠 第六步(可选但推荐):恢复 localhost 默认访问能力
默认情况下,当你启用了虚拟主机后,直接访问 http://localhost 会跳转到第一个定义的虚拟主机站点,而不是原来的 WAMP 根目录。
如果你仍希望保留 localhost 访问入口,请在 httpd-vhosts.conf 文件最顶部添加如下配置:
<VirtualHost *:80>
DocumentRoot "C:/wamp64/www"
ServerName localhost
<Directory "C:/wamp64/www">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
📌 重要原则:Apache 会按照配置顺序匹配请求,第一个匹配成功的虚拟主机会作为默认站点,把
localhost放在最前面是最安全的做法。
🛠️ 常见问题 & 排错技巧
即使严格按照上述步骤操作,偶尔也会遇到一些“坑”,以下是高频问题及解决方案:
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 访问域名显示 403 Forbidden | 目录权限未开放 | 检查 <Directory> 中是否有 Require all granted |
| 域名无法访问 / 页面空白 | hosts 文件未保存 / Apache未重启 | 重新保存 hosts,重启 Apache,ping 测试域名解析 |
| 出现 “It works!” 或其他默认页 | 虚拟主机未生效 | 检查 httpd.conf 是否取消注释 Include ...vhosts.conf |
| 报错日志看不懂? | 查看错误日志定位根源 | 日志路径:wamp64\logs\apache_error.log |
🎯 终极调试法:逐条注释虚拟主机配置,逐步排查哪一段引起冲突。
🌟 总结与进阶建议
通过本次配置,你已经掌握了在 WAMP 环境下搭建多站点开发环境的核心技能:
✅ 实现项目隔离
✅ 模拟真实域名访问
✅ 提升协作与部署一致性
✅ 加速本地调试流程
虽然初次配置略显繁琐,但一旦完成基础架构,未来新增站点只需复制粘贴 + 修改两行代码即可,效率倍增!
🚀 进阶方向推荐:
- 使用通配符虚拟主机(*.dev)自动映射子域名
- 配置 HTTPS 本地


