Php получить имя домена

Русские Блоги

PHP получает имя домена веб-сайта и переменные, связанные с сервером

/ / Получить текущее имя домена echo $_SERVER['HTTP_HOST']; echo $_SERVER['SERVER_NAME']; // получить текущий IP echo $_SERVER['SERVER_ADDR']; // Получить строку текущего идентификатора сервера, дайте ему голову в запросе на ответ echo $_SERVER['SERVER_SOFTWARE']; // Получить имя и версию протокола связи при запросе страницы. Например, «HTTP / 1.0». echo $_SERVER['SERVER_PROTOCOL']; // имя файла в данный момент выполняется echo $_SERVER['PHP_SELF']; // Получить URL-адрес источника, то есть нажмите, чтобы поступить на эту страницу на этой странице echo $_SERVER['HTTP_REFERER']; / / Получить суффикс текущего доменного имени echo $_SERVER['REQUEST_URI']; / / Получить физический путь к текущему файлу echo dirname(__FILE__); / / Получить последний уровень физических путей для текущего файла

Другое можно получить в PHP-сервере

Ультра-глобальная переменная $ _server может хранить информацию о текущей сервере, с несколькими значениями для получения ссылок на URL, такие как

$_SERVER["QUERY_STRING"], $_SERVER["REQUEST_URI"], $_SERVER["SCRIPT_NAME"] , $_SERVER["PHP_SELF"]

Вышеуказанные четыре переменные особенно легко смущены, а Query_String в функции $ _Server подробно описан примером.

REQUEST_URI, SCRIPT_NAME, PHP_SELF

Переменная отличается, овладение взаимосвязью между этими четырьмя, облегчая правильные значения, необходимые в практических приложениях для справки.

1,$_SERVER["QUERY_STRING"] // Описание: Запрос строки Rul 2,$_SERVER["REQUEST_URI"] // Описание: Доступ к этой странице URI 3,$_SERVER["SCRIPT_NAME"] // Описание: содержит текущий используемый путь скрипта 4,$_SERVER["PHP_SELF"] // Описание: Имя файла сценария выполняется

Пример:
1,http://www.o135.com/ (Напрямую открыть дом)
результат:

$_SERVER["QUERY_STRING"] = “” $_SERVER["REQUEST_URI"] = “/” $_SERVER["SCRIPT_NAME"] = “/index.php” $_SERVER["PHP_SELF"] = “/index.php”

2,http://www.o135.com/?p=319 (С URL-запросом)
результат:

$_SERVER["QUERY_STRING"] = “p=319″ $_SERVER["REQUEST_URI"] = “/?p=319″ $_SERVER["SCRIPT_NAME"] = “/index.php” $_SERVER["PHP_SELF"] = “/index.php”

3,http://www.o135.com/index.php?p=319&q=o135
результат:

$_SERVER["QUERY_STRING"] = “p=319&q=o135″ $_SERVER["REQUEST_URI"] = “/index.php?p=319&q=o135″ $_SERVER["SCRIPT_NAME"] = “/index.php” $_SERVER["PHP_SELF"] = “/index.php”

$ _Server [«Query_String»] Получите оператор запроса, в экземпляре, знаете, что все запросы получают позже?
$ _Server [«request_uri»] Получите все значения запроса за доменным именем (http://www.o135.com), включая / включая /
$ _Server [«Script_name»] Получите путь к текущему скрипту, например index.php
$ _Server [«php_self»] Имя файла скрипта в настоящее время выполняется

Глубокое понимание поможет нам правильно вызвать эти четыре значения в функции $ _Server. Через примеры сэкмерялизованного Query_String, request_uri, script_name и php_ script_name и php_ shrage, в процессе разработки, часто используемых во время разработки.

Финансируется в: https: //my.oschina.net/xinger/blog/261826

Читайте также:  Php date with text

Источник

How to get the current domain name using PHP

The $_SERVER array is a global variable that contains server and header information.

To get the domain name where you run PHP code, you need to access the SERVER_NAME or HTTP_HOST index from the $_SERVER array.

Suppose your website has the URL of https://example.com/post/1 . Here’s how you get the domain name:

If you are using Apache server 2, you need to configure the directive UseCanonicalName to On and set the ServerName .

Otherwise, the ServerName value reflects the hostname supplied by the client, which can be spoofed.

Aside from the SERVER_NAME index, you can also get the domain name using HTTP_HOST like this:

The difference is that HTTP_HOST is controlled from the browser, while SERVER_NAME is controlled from the server.

If you need the domain name for business logic, you should use SERVER_NAME because it is more secure.

Finally, you can combine SERVER_NAME with HTTPS and REQUEST_URI indices to get your website’s complete URL.

See the code example below:

Now you’ve learned how to get the domain name of your website using PHP. Nice!

Take your skills to the next level ⚡️

I’m sending out an occasional email with the latest tutorials on programming, web development, and statistics. Drop your email in the box below and I’ll send new stuff straight into your inbox!

About

Hello! This website is dedicated to help you learn tech and data science skills with its step-by-step, beginner-friendly tutorials.
Learn statistics, JavaScript and other programming languages using clear examples written for people.

Type the keyword below and hit enter

Tags

Click to see all tutorials tagged with:

Источник

Получить текущий домен

Использование $_SERVER[‘HTTP_HOST’] получает меня (субдомен.) Maindomain.extension. Похоже, это самое простое решение для меня.

Изменить: если вы действительно перенаправляете через iFrame, вы можете добавить параметр get, который указывает домен.

 

И тогда вы можете установить переменную сеанса, которая сохраняет эти данные во всех приложениях.

И можно использовать как это

if(strpos( $_SERVER['HTTP_HOST'], 'banana.com') !== false)

Этот код ниже – это хороший способ увидеть все переменные в $ _SERVER в структурированном HTML-выпуске с выделенными вами ключевыми словами, который останавливается сразу после выполнения. Поскольку я иногда забываю, какой из них использовать сам – я думаю, что это может быть отличным.

'. $wordToHighlight .'', $_SERVER ); echo "
"; print_r( $serverVarHighlighted ); echo "

"; exit(); ?>

Попробуйте $_SERVER[‘SERVER_NAME’] . Советы. Создайте файл PHP, который вызывает функцию phpinfo() и просмотрите раздел «Переменные PHP». Есть куча полезных переменных, о которых мы никогда не думали.

Поздний ответ, но вот он идет:

$currentDomain = preg_replace('/www\./i', '', $_SERVER['SERVER_NAME']); 

Это даст вам чистое доменное имя без www

Я знаю, что это может быть не совсем по этому вопросу, но, по моему опыту, я нахожу сохранение WWW-существующего URL-адреса в переменной полезной.

Изменить: Кроме того, пожалуйста, см. Мой комментарий ниже, чтобы посмотреть, что это такое.

Это важно при определении того, следует ли отправлять вызовы Ajax с помощью «www» или без:

$.ajax("url" : "www.site.com/script.php", . $.ajax("url" : "site.com/script.php", . 

При отправке вызова Ajax имя домена должно совпадать с именем в адресной строке браузера, иначе в консоли должно быть установлено значение « Очистить» .

Поэтому я придумал это решение для решения проблемы:

Затем, в зависимости от того, является ли WWW истинным, или false, выполните правильный вызов Ajax.

Я знаю, что это может показаться тривиальным, но это такая распространенная проблема, которую легко преодолеть.

Источник

Получить текущий домен

@TonyEvyght — вот смысл infgeoax, и я пытаюсь сделать это, вы должны получить имя хоста, к которому вы подключаетесь, в $_SERVER[‘HTTP_HOST’] . Если сайты one.com и two.com «перенаправляют» с помощью фрейма (i), сама страница все еще идет с myserver.uk.com, поэтому вы не получите реальный домен. Каков источник HTML для one.com ?

6 ответов

попробуйте использовать это: $_SERVER[‘SERVER_NAME’]

-1: С одним только этим ответом я не знаю точно, что делают различные предложения, на которые я смотрю. Конечно, это дает мне смысл продолжать смотреть, но само по себе это действительно не очень хороший ответ .

@SarahLewis HTTP_X_ORIGINAL_HOST может быть изменен пользователем и не может быть доверенным. Это не всегда может быть проблемой, но об этом нужно знать.

И можно использовать как это

if(strpos( $_SERVER['HTTP_HOST'], 'banana.com') !== false)

Этот код является хорошим способом увидеть все переменные в $_SERVER в структурированном HTML-выводе с выделенными вами ключевыми словами, который останавливается сразу после выполнения. Поскольку я иногда забываю, какой из них использовать сам — я думаю, что это может быть отличным.

'. $wordToHighlight .'', $_SERVER ); echo "
"; print_r( $serverVarHighlighted ); echo "

"; exit(); ?>

Использование $_SERVER[‘HTTP_HOST’] получает меня (субдомен.) maindomain.extension. Кажется, это самое легкое решение для меня.

Изменить: если вы действительно перенаправляете через iFrame, вы можете добавить параметр get, который указывает домен.

 

И тогда вы можете установить переменную сеанса, которая сохраняет эти данные во всех приложениях.

в основном это включает в себя номер порта, так что мне не нужно его конкатать потом. phpinfo, предложенный bsdnoobz, помогает мне найти правильное решение.

Попробуйте $_SERVER[‘SERVER_NAME’] . Советы. Создайте файл PHP, который вызывает функцию phpinfo() , и просмотрите раздел «Переменные PHP». Есть куча полезных переменных, о которых мы никогда не думали.

Поздний ответ, но вот он идет:

$currentDomain = preg_replace('/www\./i', '', $_SERVER['SERVER_NAME']); 

Это даст вам чистую доменную зону без www

Это не будет работать в наши дни . Что, если домен был «ww1.mydomain.com»? Замена потерпит неудачу. Лучше использовать регулярное выражение, чтобы вырезать все символы перед первой точкой, включая точку, и только в том случае, если во всей строке более одной точки.

Я знаю, что это может быть не совсем по этому вопросу, но, по моему опыту, я нахожу сохранение WWW-кода текущего URL-адреса в полезной переменной.

Изменить: Кроме того, пожалуйста, ознакомьтесь с моим комментарием ниже, чтобы узнать, что это значит.

Это важно при определении того, следует ли отправлять вызовы Ajax с помощью «www» или без:

$.ajax("url" : "www.site.com/script.php", . $.ajax("url" : "site.com/script.php", . 

При отправке вызова Ajax имя домена должно совпадать с именем в адресной строке браузера, в противном случае в консоли будет Uncaught SecurityError.

Итак, я придумал это решение, чтобы решить проблему:

Затем, в зависимости от того, является ли $WWW истинным или false, выполните правильный вызов Ajax.

Я знаю, что это может показаться тривиальным, но это такая распространенная проблема, которую легко преодолеть.

Источник

Оцените статью