Ответ 1
Если вам нужно имя домена, используйте:
$_SERVER['HTTP_HOST']
Это нечетно, но по какой-то причине $_SERVER["SCRIPT_URI"]
не вернет имя домена, когда я нахожусь в дочерних/подстраницах, но будет работать только на главной странице. Не уверен, что из-за script (WordPress) или хоста, но, пожалуйста, можете ли вы предложить любое надежное решение для получения имени домена с PHP?
Если вам нужно имя домена, используйте:
$_SERVER['HTTP_HOST']
В случае сомнений
var_dump($_SERVER);
В зависимости от того, что вы хотите, я бы воспользовался одним из следующих вариантов:
EDIT: Возможно, PHP_SELF не самый лучший. См. Комментарии.
Это может быть связано с перезаписи URL, вы можете попробовать $_SERVER ['REQUEST_URI'] вместо этого, если вам нужен путь, который был вызван в URL-адресе.
var_dump($_SERVER)
и посмотрите, какие у вас варианты.
P.S. Использование unsanitized $_SERVER["PHP_SELF"]
может быть угрозой безопасности.
Кроме того, SCRIPT_URI не существует, правильный синтаксис REQUEST_URI:
echo $_SERVER["REQUEST_URI"];
Он возвращает весь путь без хоста и домена.
Если ваш браузер форматирует JSON
документы красиво и никакого вывода не происходит, вставка следующего приведет к чему-то более читаемому, чем var_dump
:
header('Content-Type: application/json');die(json_encode($_SERVER));
phpinfo()
также предоставит список всех значений $_SERVER
и многое другое!