You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel本地子域名配置问题:无法正常生效

我来帮你排查这个Laravel子域名配置的问题,你遇到的情况大概率是几个常见的配置细节没做好,咱们一步步来解决:

问题排查与解决方案

1. 先搞定本地子域名的DNS解析

你的子域名(比如test.localhost)得先能被解析到你的本地机器,不然浏览器根本找不到你的Laravel服务。

  • 打开本地hosts文件:
    • Windows:C:\Windows\System32\drivers\etc\hosts
    • macOS/Linux:/etc/hosts
  • 添加一行:127.0.0.1 *.localhost,这样所有*.localhost开头的子域名都会指向你的本地IP。

2. 修正路由的写法

你当前的路由定义有个小问题:group闭包里直接return 'Hello World';不会被注册成有效的路由。正确的写法应该是在group内部定义具体的HTTP路由,比如:

Route::domain('{name}.localhost:8087')->group(function () {
    Route::get('/', function ($name) {
        return "Hello {$name}!";
    });
});

这样当访问test.localhost:8087时,Laravel才能正确匹配到路由并返回内容。

3. 确认服务启动参数与端口占用

你启动服务的命令php artisan serve --host=0.0.0.0 --port=8087是对的,0.0.0.0允许本地的子域名请求访问。但要确保8087端口没被其他服务占用:

  • Windows:打开命令提示符执行 netstat -ano | findstr :8087
  • macOS/Linux:在终端执行 lsof -i :8087
    如果有占用,要么换个端口,要么杀掉占用该端口的进程。

4. 清除缓存避免干扰

浏览器或本地DNS的缓存可能会让你看到旧的页面,试试这些操作:

  • 用Ctrl+Shift+R强制刷新浏览器,清除页面缓存
  • 刷新本地DNS缓存:
    • Windows:ipconfig /flushdns
    • macOS:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    • Linux:sudo systemctl restart nscd(根据你的DNS服务调整)
      另外,别忘了清除Laravel的路由缓存,确保新路由生效:
php artisan route:clear

5. 查看日志定位问题

如果上面的步骤都试过还是不行,去看Laravel的日志文件storage/logs/laravel.log,里面会有请求记录和错误信息,能帮你快速定位到底是路由匹配失败还是其他问题。

验证步骤

做完配置后,按下面的流程验证:

  1. 重启Laravel内置服务器:php artisan serve --host=0.0.0.0 --port=8087
  2. 在浏览器访问test.localhost:8087,正常情况下会看到Hello test!
  3. 如果还是跳转欢迎页,再去日志里找具体的错误提示。

内容的提问来源于stack exchange,提问作者jbel406

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:54:19