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

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

@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.

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

Источник

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:

Источник

How to get the domain name from a URL string using PHP

To get the domain name from a full URL string in PHP, you can use the parse_url() function.

The parse_url() function returns various components of the URL you passed as its argument.

The domain name will be returned under the host key as follows:

But keep in mind that the parse_url function will return any subdomain you have in your URL.

Consider the following examples:

The same goes for any kind of subdomains your URL may have:

If you want to remove the subdomain from your URL, then you need to use the PHP Domain Parser library.

The PHP Domain Parser can parse a complex domain name that a regex can’t parse.

Use this library in combination with parse_url() to get components of your domain name as shown below:

You need to have a copy of public_suffix_list.dat that you can download from publicsuffix.org.

To get google.co.uk from the URL, call the registrableDomain() function from the resolved domain name.

You can see the documentation for PHP Domain Parser on its GitHub page.

Now you’ve learned how to get the domain name from a URL using PHP. Nice work!

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.

Search

Type the keyword below and hit enter

Tags

Click to see all tutorials tagged with:

Источник

How to Get Domain Name from URL in PHP

Parse domain name from URL is used in many cases in the web project. In this short tutorial, we’ll provide a simple code snippet to get domain name from URL in PHP. Using our example script, you’ll be able to extract only the domain name from any type of URL.

All PHP code are group together in getDomain() function. The $url param should be passed to getDomain() function, from which you want to get the domain name. getDomain() function returns the domain name if found and FALSE if not found.

function getDomain($url) $pieces = parse_url($url); 
$domain = isset($pieces['host']) ? $pieces['host'] : '';
if(
preg_match('/(?P[a-z0-9][a-z0-9\-]\.[a-z\.])$/i', $domain, $regs)) return $regs['domain'];
>
return
FALSE;
>

echo
getDomain("http://example.com"); // outputs 'example.com'
echo getDomain("http://www.example.com"); // outputs 'example.com'
echo getDomain("http://mail.example.co.uk"); // outputs 'example.co.uk'

How to Configure PayPal Auto Return and Payment Data Transfer on Business Account arrow_forward

Источник

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

Использование $_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.

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

Источник

Читайте также:  METANIT.COM
Оцените статью