Я запускаю проект laravel за обратным прокси-сервером, поэтому мне нужно задать корневой URL и схему:
URL::forceRootUrl($proxy_url);
URL::forceScheme($proxy_schema);
Я добавил это в начало моего /routes/web.php
ион работает нормально, пока я не запущу:
php artisan optimize
Он кэширует маршруты в /bootstrap/cache
без принудительного URL-адреса и схемы, поэтому теперь все мои URL-адреса указывают на неправильный корневой URL-адрес.
Я пытался переместить код в /Providers/AppServiceProvider.php
(как register
, так и boot
), чтобы он действовал при кэшировании маршрутов, но безуспешно.
Iнеобходимо вручную удалить файл кэша маршрутов в /bootstrap/cache
, чтобы мои маршруты снова заработали.
Должен ли я включить его в действие при кэшировании маршрутов?
Редактировать: я также пыталсясоздать глобальное промежуточное программное обеспечение, где я делаю URL-адрес и схему.Опять же, он отлично работает до кэширования маршрутов, но при запуске php artisan optimize
маршруты снова неверны.