2017-02-22 180 views
1

我想建立Laravel CMS下列要求:Laravel多站点设置与子域名

  1. 管理(管理所有的网站/数据库)。
  2. 多站点(在子域上运行,管理自己的数据库)每个都具有API访问权限。
  3. 相同的代码库(如果需要可以复制)。
  4. 相同的数据库,每个站点的数据不同。

您可以让我知道如何使用Laravel 5.4来设置这个环境。

谢谢。

回答

0

对于构建一个Laravel CMS你需要使用以下要求:

您可以设置策略和大门的管理员角色,或使用委托 对于多点,您可以使用类似https://github.com/hyn/multi-tenant,所以如果你使用多租户可以

  • 多站点(在子域上运行,管理自己的数据库)每个都有 API访问权限。相同的代码库(如果需要可以复制)。相同 每个网站的数据库都有不同的数据。

对于配置的子域,你可以阅读该项目已经完成,现在官方文档https://laravel.com/docs/5.4/routing#route-group-sub-domain-routing

+0

感谢您的解决方案,该项目已经完成了一段时间。 –

1

。所以张贴我自己的解决方案的问题。

以下是分照顾:

  • 我使用Laravel 5.4(后来升级到5.5)。
  • 对于Laravel使用的多租户Landlord扩展。
  • 服务器配置为侦听通配符子域。
  • 每个站点都在子域上运行。
  • 在每个数据库表下使用带有site-id(tenant-id)的单个数据库。

每当服务器获取请求时,子域与中间件中的租户标识匹配&仅加载该租户的所有记录。

我希望这可能会帮助别人。