2017-02-22 247 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)的單個數據庫。

每當服務器獲取請求時,子域與中間件中的租戶標識匹配&僅加載該租戶的所有記錄。

我希望這可能會幫助別人。