Отдельное внешнее приложение для пакета hyn/multitenant

Любая помощь будет действительно присвоена о том, как этого добиться.

В настоящее время у меня есть три отдельных приложения, два внешних интерфейса, работающих с vue.js, и одно внутреннее приложение с арендой laravel, обслуживающее только API, без внешнего интерфейса.

В качестве основного базового URL-адреса или внутреннего URL-адреса указано значение example.com, это приложение для аренды. Он автоматически генерирует URL-адрес subdomain.example.com для арендаторов и баз данных, поскольку пакет аренды работает.

Еще одна настройка домена для secure.example.com, которая указывает на другое приложение vue, где мы регистрируемся. Работает отлично.

Теперь у меня есть третье приложение на vue.js для арендатора, которое указывает на что-нибудь на *.example.com, и то, как работает аренда, заключается в том, что подстановочные знаки и каталог должны быть установлены для основного приложения, в котором установлена ​​аренда, чтобы аренда работала с поддоменами.

Я не могу создать *.example.com и указать его на приложение vue, как вызовы API, а затем перейти к приложению vue, а не к серверной части, поскольку поддомен *.example указывает на приложение vue

Весь смысл в том, чтобы полностью отделить пользовательский интерфейс Tenant с помощью внешней среды, такой как vue.js, от внутренней.

Я бы лично использовал регулярное выражение и удостоверился, что если есть что-то с точкой перед example.com, следует рассматривать как поддомен, в противном случае это основной домен.

alithedeveloper 25.02.2019 20:57
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
1
930
1

Ответы 1

Я использую Quasar отдельно от Laravel Api с пакетом Hyn Multitenant.

brightmind-erp.com

demo.brightmind-erp.com

В public/panel из общей папки Laravel я вставляю dist-активы из Quasar и перенаправляю вызовы '/' на тот маршрут, где Vue Router вступает в действие:

Route::get('/', function() {
    return redirect()->route('frontend');
});

// Route everything else to Vue
Route::get('panel/{any?}', function () {
   return file_get_contents(public_path().'/panel/index.html');
})->where('any', '.*')->name('frontend');

Если вы используете Webpack, вам нужно настроить его так, чтобы он находил активы Vue из (в данном случае) папки «/panel»....

Я боролся с множеством руководств, чтобы настроить файл .htaccess или конфигурацию nginx, чтобы API работал в маршруте «/api», а vue — в «/», но я не мог

Спасибо, Уолтер, за то, что поделился своими знаниями. На самом деле мы хотим разместить весь интерфейс на другом сервере. Сделать это в Laravel с помощью vue довольно просто, так как это один базовый проект, и все маршруты и API идут в одно приложение из nginx.

Muhammad Shahzad 26.02.2019 07:01

Я не могу понять вашу проблему. Если вы разместите интерфейс на другом сервере, у вас будет другой домен, и вы будете использовать API из *.domain для этого арендатора.

Walter Cejas 26.02.2019 13:32

Я работаю над этим и, возможно, найду решение, которым обязательно поделюсь с сообществом.

Muhammad Shahzad 26.02.2019 13:42

Другие вопросы по теме