Исходя из моего опыта, наиболее очевидным подходом было бы использование одного бэкэнда (API), используемого двумя внешними интерфейсами.
- API : Предоставление конечных точек REST, настроенных с помощьюнадлежащие полномочия (некоторые конечные точки предназначены только для пользователей с правами администратора).
- Веб-сайт : классический веб-сайт (SPA или нет), взаимодействующий с бизнес-логикой через API.
- Бэк-офис : та же история, что и на сайте.
Это как-то микросервисная архитектура.У этого есть много плюсов и минусов, но, учитывая, что вы не хотите загружать ненужный код, распространение в разные приложения кажется целесообразным.
Если вы хотите сохранить одну кодовую базу, я бы подумал о том, чтобы иметьбалансировщик нагрузки (например, HaProxy или Nginx) перед вашим приложением Laravel для обработки запросов от настроенных доменов к соответствующим маршрутам.Например:
acme.com
root будет /
для Laravel bo.acme.com
root будет /admin
для Laravel