首页 > 解决方案 > Laravel - 一个 CMS / 多个站点

问题描述

Laravel 文件夹结构

我用 laravel 开发了一个 CMS,我想将它用于多个网站。我的目标是有一个地方来进一步开发我的 CMS,并且在旧网站中没有旧的“CMS 代码”。

问题是我不知道如何构建我的 laravel 文件夹结构。这就是我的想法:

每个网站都必须有自己的 - 公共文件夹 - .env 文件(或用于数据库和其他网站特定设置的配置) - 路由 - 资源(视图,资产) - 控制器('s) - 语言文件 - 等等。

开发环境

在开发中,我想使用网站的域(website-1.test)作为指示应该使用哪个网站文件夹。

生产环境和 Git

我使用 forge 来部署我的网站。我的想法是为 CMS 建立一个 git 存储库,为每个网站建立一个 git 存储库。在网站存储库中,我只推送网站文件夹。在 CMS 存储库中,整个项目被保存,但所有网站文件夹都是 .gitignored。

所以对于生产服务器,我想到了这个文件夹结构:

更新网站前端时,我推送网站仓库,如果我想更新 CMS,我推送 CMS 仓库。

结论

请记住,这些是我的第一个想法,我知道我的想法可能根本不可能。我正在寻找针对我的情况的意见和建议。如果它可以以其他方式或更好的方式实现,我将很高兴收到这方面的建议。

提前致谢!

标签: phplaravel

解决方案


好的 。在同一个项目中是不可能的。但是您可以为您的域名创建子目录。它将成为 website-one.yoursitename.com。每个子目录都有自己的文件。这就是你完成你想要的一切所需的一切。问候。


推荐阅读