Я напечатал $ _SERVER, и я узнал, что $ _SERVER['REDIRECT_URL'] против $_SERVER['REQUEST_URI'] имеют одинаковые значения. В чем разница между ними?
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.
$_SERVER['REDIRECT_URL'] доступен только на некоторых серверах в некоторых случаях. Вместо этого используйте $_SERVER['REQUEST_URI'] .
REQUEST_URI также изменяет специальные символы, такие как пробелы, на «% 20» и т. Д.