如何配置XAMPP域名?本地hosts文件修改方法

在XAMPP中配置域名,核心就是修改httpd-vhosts.conf虚拟主机文件和本机hosts文件,把自定义域名指向本地站点目录,整个过程只需几分钟。

很多新手在本地开发PHP项目时,都遇到过访问路径带着localhost或者0.0.1的尴尬,尤其当项目需要对接微信支付、OAuth登录这类回调地址时,用IP或localhost根本没法完成测试,这时候你就需要掌握XAMPP配置域名的方法,把http://myproject.test这样的域名映射到自己电脑上的项目文件夹,下面这套操作,我在Windows和macOS上都跑过,步骤通用,你跟着做就行。

修改Apache虚拟主机配置文件:XAMPP配置域名的核心步骤

XAMPP的Apache默认只开启了httpd.conf的基础配置,虚拟主机模块默认是注释状态,我们要做的第一件事,就是找到并启用虚拟主机配置文件。

找到httpd-vhosts.conf文件并取消注释

打开XAMPP安装目录,常见的路径是C:xampp或者/Applications/XAMPP/,用文本编辑器打开apache/conf/httpd.conf,在文件里搜索vhosts,找到下面这行:

#Include conf/extra/httpd-vhosts.conf

把前面的号删掉,保存文件,这一步是让Apache加载虚拟主机配置的开关,很多人的域名配置不生效,就是因为漏了这里。

编辑httpd-vhosts.conf添加域名指向

打开apache/conf/extra/httpd-vhosts.conf,文件底部默认有两个示例配置,把它们注释掉或者直接忽略,在文件末尾添加你自己的虚拟主机规则,假设你的项目路径是D:projectsmyblog,你想用的域名是myblog.test,配置这样写:

<VirtualHost :80>
    ServerAdmin admin@myblog.test
    DocumentRoot "D:/projects/myblog"
    ServerName myblog.test
    ServerAlias www.myblog.test
    <Directory "D:/projects/myblog">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

这里有三个关键点需要你注意:

  • DocumentRoot必须指向你的项目根目录,且路径要用正斜杠,不要用Windows反斜杠。
  • 如何配置XAMPP域名?本地hosts文件修改方法

    ServerName就是你想绑定的域名,建议用.test或.local避免和真实线上域名冲突。

  • Directory标签里的Require all granted是Apache 2.4及以上版本的写法,如果你还在用2.2,需要改成Allow from all。

检查httpd.conf中的监听端口

如果你默认通过80端口访问本地服务,这一步基本不用动,但如果你电脑上80端口被其他软件占用,XAMPP的Apache端口被改成了8080或其他端口,那么虚拟主机配置里的:80也要相应改为:8080,否则访问域名时会出现无法连接的问题。

修改hosts文件:让域名解析到本地

虚拟主机配置只解决了Apache识别域名的问题,系统还无法把myblog.test这个域名翻译成0.0.1,这一步就需要操作系统级的hosts文件。

Windows系统hosts文件位置和编辑权限

用记事本以管理员身份打开C:WindowsSystem32driversetchosts,在文件末尾添加一行:

0.0.1 myblog.test

如果你配置了ServerAlias www.myblog.test,可以再加上一行:

0.0.1 www.myblog.test

保存时如果提示没有权限,检查你的记事本是否真的以管理员身份运行,或者把hosts文件复制到桌面,修改完再覆盖回去。

macOS和Linux系统hosts配置

macOS用户打开终端,执行sudo nano /etc/hosts,输入密码后同样添加那两行,Linux用户操作一致,只是需要root权限,修改完成后,终端里执行ping myblog.test,如果能返回0.0.1的回应,说明解析成功了。

重启Apache并验证XAMPP配置域名是否生效

配置文件改完,必须重启Apache服务才能让新规则加载,在XAMPP控制面板上,点击Apache模块的Stop按钮,等状态变绿后再次点击Start,如果你使用了myblog.test,建议顺便清理浏览器缓存,或者使用无痕模式访问,避免旧DNS缓存干扰。

打开浏览器,地址栏输入http://myblog.test,如果看到你的项目首页,说明整个配置流程走通了,如果出现403错误,优先检查httpd-vhosts.conf里Directory

如何配置XAMPP域名?本地hosts文件修改方法

配置的路径是否正确,以及文件夹是否有读取权限,如果出现404,大概率是项目本身的路由重写规则没有开启,确认AllowOverride All已经写进配置。

XAMPP配置域名后常见的高频问题排查

你会遇到的情况,基本集中在端口冲突、配置语法错误和缓存这三个方面。

Apache启动失败和端口占用怎么办

修改完配置点击Start,Apache如果启动不了,多数是80端口被其他程序占用了,使用命令提示符执行netstat -ano | findstr :80,查看占用端口的进程PID,然后去任务管理器里找到对应进程并结束它,如果你不想结束进程,就回到XAMPP主界面,点击Apache的Config按钮,选择httpd.conf,把Listen 80改为Listen 8080,同时把虚拟主机配置里的:80改成:8080,访问时就得带端口号http://myblog.test:8080。

修改了hosts文件但域名访问的还是localhost

这种情况通常是浏览器缓存了DNS结果,你可以尝试在命令行执行ipconfig /flushdns清空系统DNS缓存,Windows和macOS都支持这个操作(macOS执行的是sudo killall -HUP mDNSResponder),之后关闭所有浏览器标签页,重新打开一个干净窗口访问。

另外要注意hosts文件的编码格式,不要使用带BOM的UTF-8编码,否则第一行域名解析可能失败,保存时选择ANSI编码或者无BOM格式。

用XAMPP配置域名搭建多个站点:虚拟主机的高阶用法

做外包开发或者同时维护多个项目的人,往往需要在同一个XAMPP环境里跑好几个项目,这时候只要在httpd-vhosts.conf里重复添加多个VirtualHost块就行,每个块对应一个域名一个项目目录。

<VirtualHost :80>
    DocumentRoot "D:/projects/shop"
    ServerName shop.test
</VirtualHost>
<VirtualHost :80>
    DocumentRoot "D:/projects/api"
    ServerName api.test
</VirtualHost>

然后对应在hosts文件里添加两个解析,重启Apache后,shop.test和api.test就能同时访问,互不干扰,业内专家指出,这种多站点虚拟主机配置方案,也是从XAMPP开发环境迁移到简米云或酷番云服务器时最常复用的部署逻辑。

如何配置XAMPP域名?本地hosts文件修改方法

对于那些纠结XAMPP配置域名和宝塔面板配置哪个简单的人,我的看法是:XAMPP适合单机开发调试,宝塔适合云服务器生产环境,如果你只是本地测试,修改两个文件就够了,完全没必要安装几十兆的服务器管理面板,但如果你是给客户交付项目,需要在线上服务器部署,那么宝塔的可视化操作会更省心,这也是行业共识。

Q&A:XAMPP配置域名的常见疑问

为什么我用XAMPP配置域名后手机访问不了?

如果你在hosts里绑定的是0.0.1,那手机当然无法访问,因为0.0.1是每一台设备自己的回环地址,你需要让手机和电脑处于同一局域网,查询电脑的局域网IP,比如168.1.105,然后在hosts文件里把域名绑定到168.1.105,同时确保Apache的Listen配置为监听0.0.0:80,防火墙放行80端口,手机访问时使用http://myblog.test,并且手机的hosts文件无法直接修改,你需要把手机设为手动代理指向电脑的代理端口,或者给路由器配置内部DNS解析。

XAMPP配置的域名和线上真实域名重复了会怎样?

如果你把ServerName设置成一个真实存在的域名,比如www.baidu.com,而且你的电脑没有断开公网,那么访问这个域名时,系统会优先匹配hosts文件里的本地映射,直接跳到你的本地站点,这不影响线上网站正常运行,但对你的测试逻辑有影响,因为你没法用这个域名访问线上内容了,建议始终使用.test、.dev、.localhost后缀,这些后缀在域名体系里保留给本地开发使用,不会与线上服务冲突。

每次重装系统或者换了电脑,XAMPP配置域名需要重做吗?

是的,hosts文件和Apache配置文件都存储在系统盘和XAMPP目录里,重装系统会清空hosts,但XAMPP目录如果不格式化D盘,httpd-vhosts.conf里的配置还在,你可以把httpd-vhosts.conf和hosts文件做一个备份,换电脑后直接覆盖对应位置,再修改路径到新项目目录就行,大部分情况下,复制这两个文件就能恢复全部域名环境,比重新配置节省不少时间。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/767736.html

赞 (0)
上一篇 2026年9月1日 23:33
下一篇 2026年9月1日 23:36

相关推荐

  • 域名 注销

    域名注销并没有一个官方统一的“注销”按钮,实际操作通常分为不再续费等待自动删除、手动删除解析并释放、以及向注册商提交删除申请三种情况,其中最常见的方式就是停止续费让域名自然过期,域名注销到底是怎么一回事很多人以为域名注销就像手机号销户一样,打个电话或填个表就能立刻消失,域名体系里不存在面向普通用户的“一键注销……

    2026年9月3日
    0790
  • bj域名是什么?bj域名注册需要哪些材料和条件

    bj域名并不是一个可供注册的官方顶级域名,大家真正能注册的是.beijing中文顶级域或补上国家后缀的bj.com.cn等二级域名,很多朋友搜索“bj域名”时,其实心里想的是“北京”这座城市,或者自己的公司注册地在京,想要一个既能体现地域属性、又看起来靠谱的网址,这个念头很实在,但域名系统里并没有一块牌子直接写……

    2026年9月1日
    0923
  • 59hhh新域名还能正常访问吗?最新网址在哪里?

    59hhh新域名是原平台的换壳入口,访问前务必先验证安全性和真实归属,再决定是否输入个人信息,这些年总有些平台因为服务器调整或域名备案原因,换个新地址继续运营,59hhh新域名就是这类情况里的高频词,很多人一看到新域名就着急收藏,结果点进去发现要么是仿冒站,要么是打不开,这篇文章直接告诉你,怎么识别、怎么访问……

    2026年10月15日
    0242
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 如何正确使用邮箱域名?,邮箱域名怎么设置

    常见问题与解决方案企业邮箱域名怎么选?根据企业规模、预算和生态需求,小型企业选腾讯企业邮箱免费版;中型企业选阿里或腾讯付费版,注重本地化支持;大型企业或跨国团队选Microsoft 365或Google Workspace,关注合规与数据安全,个人域名邮箱推荐哪个?Yandex免费稳定,但界面英文;Zoho中文……

    2026年8月3日
    01123

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(4条)

  • 水ai649的头像
    水ai649 2026年9月2日 19:55

    这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于文件的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!

    • 学生robot489的头像
      学生robot489 2026年9月2日 19:56

      @水ai649:读了这篇文章,我深有感触。作者对文件的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!

  • 甜学生1210的头像
    甜学生1210 2026年9月2日 19:56

    这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是文件部分,给了我很多新的思路。感谢分享这么好的内容!

  • 悲伤ai408的头像
    悲伤ai408 2026年9月2日 19:56

    这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是文件部分,给了我很多新的思路。感谢分享这么好的内容!