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

Laravel Tenancy for Laravel租户关联central_domains域名本地无法访问如何解决

排查步骤

1. 检查本地hosts文件配置

  • Homestead环境下所有自定义域名都需要提前在本地hosts文件中指向Homestead虚拟机IP,默认IP通常为192.168.10.10,你需要将domains表中所有租户域名都单独添加hosts记录,比如租户域名为shop.test,就新增一行:
    192.168.10.10 shop.test
    
  • 不要仅配置主域名multi.test,所有租户域名都需要单独配置hosts。

2. 检查Homestead站点配置

  • 打开Homestead.yaml配置文件,确认站点配置没有限制仅匹配主域名,推荐使用泛域名匹配配置,参考:
    sites:
        - map: '*.test'
          to: /home/vagrant/你的项目路径/public
    
  • 如果之前仅配置了map: multi.test,修改完成后需要执行vagrant reload --provision重启虚拟机加载新配置。
  • 你当前配置的central_domains仅包含顶级域test是符合要求的,不需要额外添加租户域名到该配置项。

3. 检查Tenancy包路由规则

  • 确认需要租户识别的业务路由已经放到routes/tenant.php文件中,而非默认的web.php文件。
  • 执行php artisan route:list命令检查租户路由是否正常注册,确认访问租户域名时的404报错是路由未匹配还是租户识别失败导致。

4. 验证租户识别逻辑

  • 执行php artisan tenancy:list命令,查看输出的租户和对应域名是否和domains表数据一致。
  • 在routes/tenant.php中添加临时测试代码验证识别是否生效:
    Route::get('/', function () {
        return tenant('id');
    });
    
    访问租户域名如果可以输出对应租户ID,说明租户识别逻辑正常,问题出在业务路由配置;如果输出为空或者跳转到中心域名,说明域名匹配规则异常,可检查config/tenancy.php中的域名识别配置是否开启。

5. 清理应用缓存

  • 执行以下命令清理Laravel缓存,避免旧配置未更新:
    php artisan config:clear
    php artisan route:clear
    php artisan cache:clear
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:36:05