httprequest — Как прочитать имя хоста из URI запроса в PHP?

Для маршрутизатора я хотел получить имя хоста из URI по запросу сервера. Я знаю, что мне нужно прочитать это из $_SERVER переменная. Но похоже, что в $_SERVER В массиве есть несколько записей (не менее двух) для имени хоста.

Не могли бы вы сказать, какое значение выбрать для чтения — самое надежное?

Например, когда у меня есть такой URI:

http://local.mvc/mycontroller/myaction

$_SERVER массив будет иметь:

[HTTP_HOST] => local.mvc
[SERVER_NAME] => local.mvc

Мне нужно получить значение local.mvc,

Спасибо за ваше время.

0

Решение

SERVER_NAME имя, присвоенное данному серверу в его конфигурации (будь то т.е. apache.conf файл и его ServerName директива или аналогичная для другого программного обеспечения), в то время как HTTP_HOST значение получается из заголовки HTTP-запроса это происходит от клиента (обычно веб-браузер). Эти двое может быть различаются, если ваш сервер обслуживает несколько доменов (например, хостинг на виртуальном сервере). В зависимости от варианта использования вы можете использовать любой из них, однако HTTP_HOST кажется лучшим выбором, поскольку он всегда говорит о том, чего хотел достичь пользователь.

0

Другие решения

$_SERVER переменная имеет 'REQUEST_URI',

просто var_dump переменная сервера, и это должно быть там (или посмотрите на документация)

0

Если вы используете PHP5 или PHP7, попробуйте php_uname

Чтобы получить имя хоста:

php_uname("n");
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector