🌐 Multi-Domain mit Kontexten
🌐 Multi-Domain / Multi-Site mit Kontexten (Überblick)
Kontexte ermöglichen getrennte Websites innerhalb einer einzigen MODX-Installation.
- System → Kontexte → Neu (z.B. „web2“)
- Individuelle Einstellungen (z.B.:
site_url,base_url,site_start,site_name) definieren. - Alle Extras, Snippets, Chunks, TVs und Plugins können in jedem Kontext genutzt werden, was die Pflege dieser Tools deutlich vereinfacht.
- Webserver entsprechend konfigurieren (Apache Virtual Hosts / NGINX Server Blocks).
- 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.