在 Traefik 后面运行 Laravel 作为反向代理,带有路径前缀(例如 /api/
=> Laravel)。
Laravel 由 Nginx 和 Php-fpm 提供服务。
Laravel 使用 Symfony HTTP 基础
生成路由 URL。
Symfony 没有正确地看到基本路径,并且生成没有 /api/
前缀的 URL。
作为一个肮脏的解决方法,我通过在 index.php 上的第一行来修复它:
$_SERVER['SCRIPT_NAME'] = '/api/' . $_SERVER['SCRIPT_NAME'];
如何强制使用完整 URL 或基本路径?
最佳答案
这是由 Symfony 团队针对 Symfony 5.2 修复的:
关于Laravel 在带有路径前缀的反向代理后面生成错误的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61458282/