У меня есть веб-сайт Laravel со стеком LAMP и хостом на сервере ec2.Я настроил конфигурацию виртуального хоста для имени хоста www.abc.com
, и он работает нормально.Однажды клиент сказал, что хочет использовать свой домен для посещения сайта, как www.client.com/abc
.Они используют обратный прокси-сервер для указания нашего сервера ec2.Первая проблема, с которой мы столкнулись, - сбой виртуального хоста, и мы исправили его, добавив настройку псевдонима сервера.
ServerAlias www.client.com
URL-адрес правильно подключился к серверу, и возникла вторая проблема.Из-за подпапки url www.client.com/abc
все пути к ресурсам не выполняются.Например, у нас были шрифты, стили и пути js, сгенерированные laravel-mix:
{
"/js/app.js": "/js/app.js",
"/css/app.css": "/css/app.css",
"/js/login.js": "/js/login.js"
}
Эти пути являются абсолютными, и на сайте получается 404, если мы используем вспомогательную функцию mix()
длязагрузить активы.Отображаемый URL на страницах блэйда неверен.
Это будет
http://www.client.com/js/app.js
вместо
http://www.client.com/abc/js/app.js
И шрифты, загруженные от поставщика и стилей, которыеиспользуйте относительные пути и также преобразуются в абсолютные.Поэтому нам пришлось обойти это, добавив параметр processCssUrls: false
в webpack.mix.js.
Третья проблема - перенаправление, когда пользователь выходит из системы.URL перенаправления по умолчанию - /
.Я знаю, что мы можем изменить URL перенаправления в промежуточном программном обеспечении и контроллерах, но кажется, что это обходной путь.Есть ли лучший способ решить эти проблемы?Чтобы снова задать вопрос, как настроить проект Laravel за обратным прокси-сервером с подпапкой?
http://www.example.com/laravel