PHP url-адрес текущей страницы

Опубликовано 2021.09.04

Адрес текущей страницы находится в суперглобальной переменной $_SERVER

Обратиться к ней можно внутри любой функции или метода, а так же вне функции.

Стоит рассмотреть несколько элементов этой переменной.

А именно:

Часть урлаПеременная
Протокол:$_SERVER['REQUEST_SCHEME']
Хост:$_SERVER['HTTP_HOST'] или $_SERVER['SERVER_NAME']
Страница:$_SERVER['DOCUMENT_URI'] или $_SERVER['SCRIPT_NAME'] или $_SERVER['PHP_SELF']
Страница+GET переменные:$_SERVER['REQUEST_URI']
GET переменные:$_SERVER['QUERY_STRING']
Порт:$_SERVER['SERVER_PORT']
Базовая авторизация,
логин и пароль, если они есть:
$_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW']

Если вам нужен относительный адрес, то его можно вывести так:

Для абсолютного адреса следует добавить следующие элементы.

Например так:

  1. // полный адрес без GET переменных
  2. echo $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['DOCUMENT_URI'];
  3.  
  4. // полный адрес с GET переменными
  5. echo $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
  6.  
  7. // только текущая страница без GET переменных
  8. echo $_SERVER['DOCUMENT_URI'];
  9.  
  10. // только текущая страница с GET переменными
  11. echo $_SERVER['REQUEST_URI'];

Если вы что-то забыли - просто распечатайте переменную $_SERVER полностью и вам сразу будет понятно какой именно её элемент вам необходим.