php $_SERVER['PHP_SELF'] $_SERVER['SCRIPT_NAME'] $_SERVER['REQUEST_URI']区别

$_SERVER['PHP_SELF'] 和 $_SERVER['SCRIPT_NAME']  location匹配重写后会变成重写后的文件名称

例如

http://www.baidu.com/a/b/c?a=1

   rewrite ^(.*)$ /public/index.php?_url=$1 

则PHP_SELF 和SCRIPT_NAME 都是public/index.php

REQUEST_URL=a/b/c?a=1

$_SERVER['REQUST_URL'] 在nginx 第一步接受到请求 头就已经固定

$_GET 也会在rewrite后面变化 变成_url= & a=1

换句话说在nginx的 请求内容处理阶段 $_GET 和 PHP_SELF SCRIPT_NAME在 内容处理阶段(接受请求内容) 会变化 

目前测试结果是这样 (至于网上说的PHP_SELF 和SCRIPT_NAME 区别未测试)

你可能感兴趣的:(php $_SERVER['PHP_SELF'] $_SERVER['SCRIPT_NAME'] $_SERVER['REQUEST_URI']区别)