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