PHP получить доменное имя [дубликат]




Возможные Дубликаты:
HTTP_HOST и ИМЯ_СЕРВЕРА






Здравствуйте,



Я хочу получить доменное имя для того, где работает скрипт. Как это можно сделать с PHP?
Я вижу, что $_SERVER['HTTP_HOST'] а также $_SERVER['SERVER_NAME'] содержать эту информацию.
Будет ли эта переменная всегда работать, и я должен использовать один над другим?



спасибо.

363   2  

2 ответов:

подобный вопрос был задан в stackoverflow раньше.

смотрите здесь: в PHP переменная $_SERVER['HTTP_HOST'] и в $_SERVER['server_name в'], Я правильно понимаю страницах человек?

также смотрите эту статью:http://shiflett.org/blog/2006/mar/server-name-versus-http-host

рекомендуется использовать HTTP_HOST, и возврат к ИМЯ_СЕРВЕРА только в том случае, если HTTP_HOST не был установлен. Он сказал, что ИМЯ_СЕРВЕРА может быть ненадежный на то сервер по разным причинам, в том числе:

  • нет поддержки DNS
  • неправильно
  • за программным обеспечением балансировки нагрузки

источник: http://discussion.dreamhost.com/thread-4388.html

чтобы ответить на ваш вопрос, они должны работать до тех пор, как:

  • ваш HTTP-сервер передает эти значения вместе с PHP (я не знаю ни одного, что нет)
  • ты не доступ к скрипту через командную строку (CLI)

мое личное предпочтение установите доменное имя в качестве переменной среды в виртуальном хосте apache2:

# Virtual host
setEnv DOMAIN_NAME example.com

и прочитайте его в PHP:

// PHP
echo getenv(DOMAIN_NAME);

это, однако, не применимо во всех обстоятельствах.

Comments

    Ничего не найдено.