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

evi*_*iko 38 php

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

Gum*_*mbo 46

REQUEST_URIHTTP请求行中使用的请求URI路径和查询.当内部重定向发生时,Apache会创建REDIRECT_URL:

REDIRECT_环境变量是从重定向之前存在的环境变量创建的.它们用REDIRECT_前缀重命名,即HTTP_USER_AGENT成为REDIRECT_HTTP_USER_AGENT.

REDIRECT_URL,REDIRECT_STATUS并且REDIRECT_QUERY_STRING保证被设置,并且只有在错误条件之前存在其他标题时才设置其他标题.

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

  • `REDIRECT_URL`返回普通网址,例如`/ review`,另一方面`REQUEST_URL`返回包括查询字符串,例如`/ review?page = 4` (4认同)
  • @AlbertSamuel "`REQUEST_URL`" - 那应该是 `REQUEST_URI`(带有一个 `I`)。 (3认同)

Sjo*_*erd 16

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

  • 请注意,它们可能有不同的行为,因为REQUEST_URI包含查询字符串!(我的API有问题) (2认同)

小智 11

REQUEST_URI还将空格等特殊字符更改为"%20"等.