php - Laravel - 一个 CMS / 多个站点
问题描述
Laravel 文件夹结构
我用 laravel 开发了一个 CMS,我想将它用于多个网站。我的目标是有一个地方来进一步开发我的 CMS,并且在旧网站中没有旧的“CMS 代码”。
问题是我不知道如何构建我的 laravel 文件夹结构。这就是我的想法:
- --cms
- --website-1
- --website-2
- --website-3
每个网站都必须有自己的 - 公共文件夹 - .env 文件(或用于数据库和其他网站特定设置的配置) - 路由 - 资源(视图,资产) - 控制器('s) - 语言文件 - 等等。
开发环境
在开发中,我想使用网站的域(website-1.test)作为指示应该使用哪个网站文件夹。
生产环境和 Git
我使用 forge 来部署我的网站。我的想法是为 CMS 建立一个 git 存储库,为每个网站建立一个 git 存储库。在网站存储库中,我只推送网站文件夹。在 CMS 存储库中,整个项目被保存,但所有网站文件夹都是 .gitignored。
所以对于生产服务器,我想到了这个文件夹结构:
- CMS(git 存储库)
- 网站(git repo)
更新网站前端时,我推送网站仓库,如果我想更新 CMS,我推送 CMS 仓库。
结论
请记住,这些是我的第一个想法,我知道我的想法可能根本不可能。我正在寻找针对我的情况的意见和建议。如果它可以以其他方式或更好的方式实现,我将很高兴收到这方面的建议。
提前致谢!
解决方案
好的 。在同一个项目中是不可能的。但是您可以为您的域名创建子目录。它将成为 website-one.yoursitename.com。每个子目录都有自己的文件。这就是你完成你想要的一切所需的一切。问候。
推荐阅读
- javascript - 链接的 DateTimepickers 不应允许某些日期
- tfs - 如何将 TFS 旧版本的 SSIS 包更新到当前部署的版本?
- wordpress - 如何将我网站的每个帖子自动重定向到移动设备上的 AMP 版本?
- google-chrome-app - 无法支付 chrome 网上商店的注册费
- laravel - 如何在 Vuejs 中单击图像 ID
- java - 在 Excel 工作表的列末尾写入 excel 数据
- bluetooth-lowenergy - 尽管我已配对,但 BLE 属性需要身份验证
- azure - 更改为不同的 Azure 订阅时,Azure PowerShell 脚本不起作用
- excel - Excel:CountIf RangeA 比 Range B 大 n 个单位
- python-3.x - 如何在字符串中打印python中的单个反斜杠?