前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[PHP] fastcgi_split_path_info与传递PATH_INFO

[PHP] fastcgi_split_path_info与传递PATH_INFO

作者头像
唯一Chat
发布2020-03-19 14:32:57
2.6K0
发布2020-03-19 14:32:57
举报
文章被收录于专栏:陶士涵的菜地

PHP的很多框架里面都是通过获取$_SERVER['PATH_INFO']处理路由 , 这个变量是通过nginx传递过来的 , 我们在nginx中经常见到下面两句

fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info;

这两句是什么意思呢?

nginx默认获取不到PATH_INFO的值,得通过fastcgi_split_path_info指定定义的正则表达式来获取值

^(.+\.php)(/.*)$; 这个正则表达是有两个小括号 , 也就是有两个捕获

第二个捕获到的值会自动重新赋值给$fastcgi_path_info变量。

第一个捕获的值会重新赋值给$fastcgi_script_name变量。

如果访问 /index.php/test ,第二个捕获的是/test $fastcgi_path_info就是/test,因此就会把/test传递给php的$_SERVER['PATH_INFO']

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档