nginx的location定义正则后SCRIPT_NAME, PATH_INFO多了index.php

在使用nginx进行 反向代理配置时通过正则表达式配置location后发现

通过$_SERVER[‘SCRIPT_NAME’]; 与$_SERVER[‘PATH_INFO’] 发现直接获取了整个uri地址

访问uri: 127.0.0.1/index.PHP/site/login

正常情况应该为index.php

现获取为index.php/site/login

以下是解决方法

第一个位置指令设立的基本选项,而第二个location指令匹配一个请求到自身的index.php,并把它传递到FastCGI来处理。下一次请求index.php是没有进行正确的配置。

在处理我们的问题的整个配置文件的关键部分是这样的:

location指定匹配所有的php请求将不指定为先前的全部uri, 它还清空$path-info变量,  if语句匹配任何类似下面的请求:http://mysite/index.php/foo和放入的index.php的$script变量和/ foo $path_info变量。$script and $path_info将被插入到服务器变量SCRIPT_NAME和PATH_INFO的fastcgi的参数,并允许PHP妥善处理请求。

关于稚子

你们眼中的草根
此条目发表在应用工具软件分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注