Один сайт на несколько доменов.

Всем привет!

Возник такой вопрос — есть сайт который открывается на нескольких поддоменах:
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'е.
Алексей Карташов
21 марта 2014, 12:56
modx.pro
2 330
0

Комментарии: 3

Алексей Карташов
21 марта 2014, 17:01
0
коммент для привлечения внимания в сайдбаре справа =)
    Алексей Карташов
    21 марта 2014, 17:25
    0
    А, стоп. Туплю. Исходя из вот этого кода из конфига:
    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 запущен в режиме командной строки.

    Тогда и первый и второй вопросы отпадают. Всё как всегда — «поспешишь — людей насмешишь».
    Всем спасибо =)
      artem-makarchuk
      11 февраля 2019, 09:37
      0
      Добавлю свой вопрос сюда, для порядка.

      Стоит задача выделить магазин на сайте на отдельный домен, в идеале, чтобы было так.
      Есть site.ru внутри него есть раздел site.ru/shop и есть домен shop.ru, нужно чтобы магазин (minishop2) открывался по адресу shop.ru при этом это тот же сайт с тем же дизайном с одной админкой, просто для удобства пользователей и лучшей индексации было решено выделить магазин на отдельный домен. Так же необходимо чтобы все разделы внутри магазина открывались по адресам shop.ru/tovarmagazina, shop.ru/kategoria и т.д.

      Так понимаю нужно правильно настроить контекст для второго домена и в качестве стартовой страницы указать главную страницу магазина?
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        3