Jump to main content Jump to doc navigation

У вас есть выбор при совместном использовании одной базы данных и менеджера в нескольких доменах. Вы можете использовать первичный интерфейсный интерфейс (известный как «web») для обработки всех доменов, или вы можете создать уникальный файл шлюза для каждого домена, чтобы напрямую инициализировать определенный контекст. Если вы используете один шлюз, вы бы использовали плагин для переключения контекстов, зарегистрированных в событии OnHandleRequest, что-то вроде этого:

<?php
/* не выполнять, если в Панеле управления */
if ($modx->context->get('key') == 'mgr') {
        return;
}

switch ($_SERVER['HTTP_HOST']) {
        case 'domain2.tld':
                // если http_host принадлежит конкретному домену, переключить контекст
                $modx->switchContext('domain2.tld');
                break;
        case 'domain3.tld':
                // если http_host принадлежит конкретному домену, переключить контекст
                $modx->switchContext('domain3.tld');
                break;
        default:
                // по умолчанию ничего не делать
                break;
}
?>

В качестве альтернативы, вы просто скопируете файл index.php из веб-контекста по умолчанию (вместе с core.config.php и .htaccess для правил перезаписи, измененных соответствующим образом) в другой каталог и измените строку

$modx->initialize('web');

в

$modx->initialize('aContextNameOfYourChoice');

Обратите внимание, что вы также можете просто скопировать index.php в тот же каталог и переименовать его, чтобы сделать это, но ваши правила перезаписи должны быть достаточно умными, чтобы направлять запросы в соответствующий контекстный шлюз, и вам нужно будет настроить запрос request_controller в контекстных настройках соответственно.

Вы также можете использовать пользовательское расположение ядра в любом из этих сценариев; это не зависит от контекстно-управляемых многосайтовых возможностей.

Ознакомьтесь с компонентом GatewayManager

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • Fabian Christen
  • Dannevang Digital
  • Sepia River Studios
  • Chris Fickling
  • CrewMark
  • deJaya
  • Lefthandmedia
  • Murray Wood
  • eydolan
  • Following Sea
  • Anton Tarasov
  • Stéphane Jäggi
  • Raffy
  • Snow Creative
  • A. Moreno
  • Nick Clark
  • JT Skaggs
  • Helen
  • YJ
  • krisznet
  • Richard
  • Yanni

Budget

$301 per month—let's make that $500!

Learn more