我打印了$ _SERVER,我发现$ _SERVER['REDIRECT_URL']
vs $_SERVER['REQUEST_URI']
都有相同的值。这两者有什么区别?
答案 0 :(得分:44)
REQUEST_URI 是HTTP request line中使用的请求的URI路径和查询。发生内部重定向时REDIRECT_URL is created by Apache:
保证设置
REDIRECT_
环境变量是根据重定向之前存在的环境变量创建的。它们使用REDIRECT_
前缀重命名,即HTTP_USER_AGENT
变为REDIRECT_HTTP_USER_AGENT
。
REDIRECT_URL
,REDIRECT_STATUS
和REDIRECT_QUERY_STRING
,并且只有在错误条件之前存在其他标头时才会设置其他标头。
请注意, REDIRECT_URL 仅包含URI路径。
答案 1 :(得分:16)
$_SERVER['REDIRECT_URL']
仅在某些情况下可用于某些服务器。请改用$_SERVER['REQUEST_URI']
。
答案 2 :(得分:11)
REQUEST_URI也会将空格等特殊字符更改为“%20”等。