Один сайт на несколько доменов.
Всем привет!
Возник такой вопрос — есть сайт который открывается на нескольких поддоменах:
domain.com, sub1.domain.com, sub2.domain.com, etc.
Т.е. физически один и тот же сайт, который доступен с нескольких адресов.
Возникло 2 вопроса:
1. Для различных манипуляций необходимо определить — на каком, собственно, домене в данный момент открыта страница сайта. Решение в лоб — $_SERVER['HTTP_HOST'], но что-то я слышал, что путь этот не джедайский, ибо можно эту переменную подменить, да и вообще…
В общем, есть ли right way и best practice — как определить домен?
2. Может ли что-то сломаться из-за того, что в MODX_HTTP_HOST хранится domain.com, а на деле домен-то другой, к примеру sub2.domain.com? Сталкивался ли кто-то с подобным?
p.s. никаких отдельных контекстов нет, просто один сайт на нескольких адресах. Всё настроено в nginx'е.
Возник такой вопрос — есть сайт который открывается на нескольких поддоменах:
domain.com, sub1.domain.com, sub2.domain.com, etc.
Т.е. физически один и тот же сайт, который доступен с нескольких адресов.
Возникло 2 вопроса:
1. Для различных манипуляций необходимо определить — на каком, собственно, домене в данный момент открыта страница сайта. Решение в лоб — $_SERVER['HTTP_HOST'], но что-то я слышал, что путь этот не джедайский, ибо можно эту переменную подменить, да и вообще…
В общем, есть ли right way и best practice — как определить домен?
2. Может ли что-то сломаться из-за того, что в MODX_HTTP_HOST хранится domain.com, а на деле домен-то другой, к примеру sub2.domain.com? Сталкивался ли кто-то с подобным?
p.s. никаких отдельных контекстов нет, просто один сайт на нескольких адресах. Всё настроено в nginx'е.
Комментарии: 3
коммент для привлечения внимания в сайдбаре справа =)
А, стоп. Туплю. Исходя из вот этого кода из конфига:
Тогда и первый и второй вопросы отпадают. Всё как всегда — «поспешишь — людей насмешишь».
Всем спасибо =)
if (!defined('MODX_HTTP_HOST')) {
if(defined('PHP_SAPI') && (PHP_SAPI == "cli" || PHP_SAPI == "embed")) {
$http_host='aleriya.ru';
define('MODX_HTTP_HOST', $http_host);
} else {
$http_host= $_SERVER['HTTP_HOST'];
if ($_SERVER['SERVER_PORT'] != 80) {
$http_host= str_replace(':' . $_SERVER['SERVER_PORT'], '', $http_host); // remove port from HTTP_HOST
}
$http_host .= ($_SERVER['SERVER_PORT'] == 80 || $isSecureRequest) ? '' : ':' . $_SERVER['SERVER_PORT'];
define('MODX_HTTP_HOST', $http_host);
}
}
MODX_HTTP_HOST формируется динамически, исходя из текущего положения дел. Вшитый домен берётся только, если php запущен в режиме командной строки.Тогда и первый и второй вопросы отпадают. Всё как всегда — «поспешишь — людей насмешишь».
Всем спасибо =)
Добавлю свой вопрос сюда, для порядка.
Стоит задача выделить магазин на сайте на отдельный домен, в идеале, чтобы было так.
Есть site.ru внутри него есть раздел site.ru/shop и есть домен shop.ru, нужно чтобы магазин (minishop2) открывался по адресу shop.ru при этом это тот же сайт с тем же дизайном с одной админкой, просто для удобства пользователей и лучшей индексации было решено выделить магазин на отдельный домен. Так же необходимо чтобы все разделы внутри магазина открывались по адресам shop.ru/tovarmagazina, shop.ru/kategoria и т.д.
Так понимаю нужно правильно настроить контекст для второго домена и в качестве стартовой страницы указать главную страницу магазина?
Стоит задача выделить магазин на сайте на отдельный домен, в идеале, чтобы было так.
Есть site.ru внутри него есть раздел site.ru/shop и есть домен shop.ru, нужно чтобы магазин (minishop2) открывался по адресу shop.ru при этом это тот же сайт с тем же дизайном с одной админкой, просто для удобства пользователей и лучшей индексации было решено выделить магазин на отдельный домен. Так же необходимо чтобы все разделы внутри магазина открывались по адресам shop.ru/tovarmagazina, shop.ru/kategoria и т.д.
Так понимаю нужно правильно настроить контекст для второго домена и в качестве стартовой страницы указать главную страницу магазина?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.