如何解决在 Nginx 后面工作时,Laravel 如何知道请求 uri?
我使用的是 Laravel,但我认为它可以是任何 PHP 框架(例如 Symfony)。
我有以下 Nginx 配置:
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location = /index.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
我正在提出这个请求,一切正常:
GET /v3/action/1332899709/some-endpoint?page=1
据我所知,nginx 将此请求转换为 /index.php?page=1
。那么,为什么这样做呢? Laravel 如何知道我请求了什么 uri? nginx 在检查 try_files
中的端点时是否会“在后台”传递一些请求数据?
解决方法
路由是在fastcgi_params
的帮助下完成的,例如SCRIPT_FILENAME
、REQUEST_URI
等
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。