PHP:$ _SERVER vs $ _SERVER

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

REQUEST_URI是在HTTP请求行中使用的请求的URIpath和查询。 发生内部redirect时, 由Apache创buildREDIRECT_URL

REDIRECT_环境variables是根据redirect之前存在的环境variables创build的。 它们被重命名为REDIRECT_前缀,即HTTP_USER_AGENT变为REDIRECT_HTTP_USER_AGENT

REDIRECT_URLREDIRECT_STATUSREDIRECT_QUERY_STRING保证被设置,而其他标题只有在错误条件之前存在才会被设置。

请注意, REDIRECT_URL只包含URIpath。

$_SERVER['REDIRECT_URL']仅在某些服务器上可用。 改用$_SERVER['REQUEST_URI']

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