商城首页欢迎来到中国正版软件门户

您的位置:首页 >XAMPP配置二级域名访问 XAMPP本地模拟多级域名环境

XAMPP配置二级域名访问 XAMPP本地模拟多级域名环境

  发布于2026-05-06 阅读(0)

扫一扫,手机访问

XAMPP配置二级域名访问:三步缺一不可,否则必遇404

XAMPP配置二级域名访问 XAMPP本地模拟多级域名环境

结论很明确:XAMPP完全可以配置二级域名,但整个过程就像一套精密的组合锁,必须三步全对——修改httpd.conf启用虚拟主机、在httpd-vhosts.conf中定义域名与路径并配置目录权限、最后还得修改系统hosts文件完成本地解析。这三步,漏掉任何一步,结果都一样:浏览器要么返回冷冰冰的404,要么直接把你打回localhost的默认页面。

第一步:先打开虚拟主机的“总开关”

很多朋友第一步就卡住了:明明按照教程修改了httpd-vhosts.conf,为什么访问自定义域名毫无反应?问题根源往往在于,Apache压根就没读取这个配置文件。你得先打开那个“总开关”。

找到XAMPP安装目录\apache\conf\httpd.conf,用文本编辑器打开,搜索下面这行代码:

Include conf/extra/httpd-vhosts.conf

关键来了:确保这行前面没有注释符号#。如果有,直接删掉。保存后,务必重启Apache服务。这一步不是可选项,而是激活虚拟主机功能的必备操作。

如果这步没做对,通常会看到两种典型错误:要么所有域名(包括你新设的)都指向配置文件里第一个VirtualHost所定义的目录;要么你访问test.local时,显示的依然是XAMPP那个经典的默认首页。

第二步:配置虚拟主机,目录权限是重中之重

httpd-vhosts.conf里写配置,只指定DocumentRoot(网站根目录)和ServerName服务器名)是远远不够的。对于Apache 2.4及以上版本,默认的安全策略是拒绝所有目录访问,你必须显式地“放行”。一个完整可用的配置示例应该是这样的:


    DocumentRoot "D:/xampp/htdocs/myapp"
    ServerName api.dev.local
    
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    

这里有几个细节必须敲黑板:

  • 路径要绝对,结尾要干净DocumentRoot必须使用绝对路径,并且路径末尾不要加斜杠。
  • 目录配置要对齐标签里的路径,必须和上面的DocumentRoot保持完全一致,包括大小写和斜杠方向(Windows下通常用正斜杠/或反斜杠\均可,但建议统一)。
  • 语法别搞混:千万别用老旧的Allow from all。那是Apache 2.2时代的语法,现在主流的XAMPP内置的是Apache 2.4,用了会直接报错Invalid command 'Allow'。正确的写法是Require all granted
  • 给.htaccess留条路:如果项目用到PHP框架(如Lara vel、ThinkPHP)或需要URL重写,务必加上AllowOverride All,这样项目目录下的.htaccess文件才能生效。

第三步:搞定系统hosts文件,管理员权限是关键

路径大家都知道:C:\Windows\System32\drivers\etc\hosts。但坑也在这里:直接双击用记事本修改,常常因为权限不足而导致保存失败,表面上你改了,实际上系统根本没写入。

正确的操作姿势是:

  • 在开始菜单找到“记事本”或“VS Code”,右键选择“以管理员身份运行”
  • 然后在这个拥有高级权限的编辑器里,通过“文件”->“打开”去找到并编辑hosts文件。
  • 在文件末尾添加你的本地域名映射,注意用空格分隔(建议用空格而非Tab键):
127.0.0.1 frontend.dev.local
127.0.0.1 api.dev.local

怎么验证是否生效?很简单:

  • 打开命令提示符,输入ping frontend.dev.local。如果看到Reply from 127.0.0.1的回复,恭喜你,解析成功了。
  • 如果提示“找不到主机”,那基本可以断定是hosts文件没修改成功,九成是因为没用管理员权限保存。
  • 一个小提示:修改hosts后不需要重启Apache,但浏览器可能会缓存旧的DNS记录。如果遇到问题,可以在命令行执行ipconfig /flushdns来清空本地DNS缓存。

避开最后一个坑:浏览器与域名的兼容性

这是近年来新出现的“坑”。从2022年左右开始,Chrome和Edge等现代浏览器出于安全考虑,默认将.dev.app等顶级域视为公共后缀,并强制对它们使用HTTPS。这会导致你的本地HTTP站点无法访问。

所以,给你的本地开发域名提个醒:

  • 避免使用.dev.app:建议改用.test.local,或者最标准的.localhost
  • 首选.localhost:这个域名是IETF标准明确保留给本地环回测试使用的,所有主流浏览器都支持对其直接使用HTTP协议,无需任何证书。
  • 注意地址栏变化:如果你用了.dev域名却打不开,看一眼地址栏,如果它自动变成了https://开头,那就是浏览器的HSTS策略在“作祟”。
  • 关于别名:如果想为一个站点配置多个域名,可以使用ServerAlias指令,例如:ServerAlias www.api.dev.local api.dev.local。但请注意,主域名仍然以ServerName为准。

说到底,配置二级域名本身语法并不复杂。真正卡住人的,往往就是那些看似简单却极易忽略的步骤:hosts文件没保存成功、httpd.conf里的那行注释没取消、或者Directory权限没给够。把这三点逐一检查到位,95%的“本地二级域名之谜”也就迎刃而解了。

本文转载于:https://www.php.cn/faq/2426771.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注