首页 > Web开发 > 详细

[PHP] fastcgi_split_path_info与传递PATH_INFO

时间:2020-03-09 20:13:33      阅读:64      评论:0      收藏:0      [点我收藏+]

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‘]

 

[PHP] fastcgi_split_path_info与传递PATH_INFO

原文:https://www.cnblogs.com/taoshihan/p/12450174.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!