【发布时间】:2019-11-10 06:05:30
【问题描述】:
我在反向代理后面运行一个 laravel 项目,这就是为什么我需要强制根 url 和方案:
URL::forceRootUrl($proxy_url);
URL::forceScheme($proxy_schema);
我已将此添加到我的 /routes/web.php 的顶部,并且在我运行之前它工作正常:
php artisan optimize
它缓存了/bootstrap/cache中的路由没有强制的url和scheme,所以现在我所有的url都指向了错误的根url。
我尝试将代码移动到/Providers/AppServiceProvider.php(register 和boot),以便在缓存路由时使其生效,但没有运气。
我必须手动删除/bootstrap/cache 中的路由缓存文件才能让我的路由再次工作。
在缓存路由的时候要不要让它生效?
编辑:
我还尝试创建一个全局中间件,在其中执行强制 url 和模式。在缓存路由之前它再次工作正常,但是在运行php artisan optimize 时,路由再次不正确。
【问题讨论】:
-
你用的是哪个 laravel 版本?
-
我正在使用当前最新的 5.8 版本
标签: php laravel caching routes