PHP:$ _SERVER ['REDIRECT_URL'] vs $ _SERVER ['REQUEST_URI']

时间:2011-06-26 12:28:55

标签: php

我打印了$ _SERVER,我发现$ _SERVER['REDIRECT_URL'] vs $_SERVER['REQUEST_URI']都有相同的值。这两者有什么区别?

3 个答案:

答案 0 :(得分:44)

REQUEST_URI HTTP request line中使用的请求的URI路径和查询。发生内部重定向时REDIRECT_URL is created by Apache

  

REDIRECT_环境变量是根据重定向之前存在的环境变量创建的。它们使用REDIRECT_前缀重命名,即HTTP_USER_AGENT变为REDIRECT_HTTP_USER_AGENT

     保证设置

REDIRECT_URLREDIRECT_STATUSREDIRECT_QUERY_STRING,并且只有在错误条件之前存在其他标头时才会设置其他标头。

请注意, REDIRECT_URL 仅包含URI路径。

答案 1 :(得分:16)

$_SERVER['REDIRECT_URL']仅在某些情况下可用于某些服务器。请改用$_SERVER['REQUEST_URI']

答案 2 :(得分:11)

REQUEST_URI也会将空格等特殊字符更改为“%20”等。