Skip to main content

🌐 Multi-Domain mit Kontexten

🌐 Multi-Domain / Multi-Site mit Kontexten (Überblick)

Kontexte ermöglichen getrennte Websites innerhalb einer einzigen MODX-Installation.

  1. System → Kontexte → Neu (z.B. „web2“)
  2. Individuelle Einstellungen (z.B.: site_url, base_url, site_start, site_name) definieren.
  3. Alle Extras, Snippets, Chunks, TVs und Plugins können in jedem Kontext genutzt werden, was die Pflege dieser Tools deutlich vereinfacht.
  4. Webserver entsprechend konfigurieren (Apache Virtual Hosts / NGINX Server Blocks).
  5. Routing über „Gateway oder „ContextSwitch“-Plugin.

🔁 Multi-Domain – mit einem eigenen ContextSwitch-Plugin

Damit ein Anpassen der index.php nicht notwendig ist, kannst du ein einfaches ContextSwitch-Plugin verwenden.

Schritt 1: Plugin anlegen

  • Menü Elemente → Plugins → Neu
  • Name: z.B. ContextSwitch
  • System-Event: OnHandleRequest

Code:

<?php
// System Events: OnHandleRequest

// Manager-Kontext nie umschalten
if ($modx->context->get('key') === 'mgr') {
    return;
}

switch ($modx->getOption('http_host')) {
    case 'www.deineDomain2.tld:80':
    case 'www.deineDomain2.tld':
        $modx->switchContext('web2');
        break;

    case 'www.deineDomain3.tld:80':
    case 'www.deineDomain3.tld':
        $modx->switchContext('web3');
        break;

    default:
        $modx->switchContext('web');
        break;
}

Hinweise

  • Domains exakt so eintragen, wie sie im Browser erscheinen.
  • Die Contexts (web, web2, web3) müssen existieren.
  • Manager-Kontext (mgr) niemals umschalten.

🧩 Relevante Docs