PHP: $ _SERVER ['REDIRECT_URL'] против $ _SERVER ['REQUEST_URI'] - PullRequest
36 голосов
/ 26 июня 2011

Я напечатал $ _SERVER и обнаружил, что оба значения $ _SERVER['REDIRECT_URL'] против $_SERVER['REQUEST_URI'] имеют одинаковые значения. Какая разница между ними?

Ответы [ 3 ]

44 голосов
/ 26 июня 2011

REQUEST_URI - запрашиваемый путь URI и запрос, используемые в строке HTTP-запроса . REDIRECT_URL создается Apache , когда происходит внутреннее перенаправление:

REDIRECT_ переменные среды создаются из переменных среды, которые существовали до перенаправления.Они переименовываются с префиксом REDIRECT_, т. Е. HTTP_USER_AGENT становится REDIRECT_HTTP_USER_AGENT.

REDIRECT_URL, REDIRECT_STATUS и REDIRECT_QUERY_STRING гарантированно будут установлены, а остальные заголовки будутустанавливается только если они существовали до возникновения ошибки.

Обратите внимание, что REDIRECT_URL содержит только путь URI.

16 голосов
/ 26 июня 2011

$_SERVER['REDIRECT_URL'] доступно только на некоторых серверах в некоторых случаях.Вместо этого используйте $_SERVER['REQUEST_URI'].

11 голосов
/ 22 апреля 2013

REQUEST_URI также изменяет специальные символы, такие как пробелы, на "% 20" и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...