2.9 KiB
Multi-Domain-Konfiguration für Laravel
Dieses Projekt unterstützt mehrere Domains mit unterschiedlichen Styles und Konfigurationen.
Die Domains werden über .env-Variablen konfiguriert.
Basis-Konfiguration
Füge die folgenden Variablen zu deiner .env-Datei hinzu:
# Domain-Konfigurationen
DOMAIN_ADMIN=portal.b2in.local
DOMAIN_ADMIN_NAME="Admin Portal"
DOMAIN_MAIN=b2in.local
DOMAIN_MAIN_NAME="B2in"
DOMAIN_LANDING1=landing1.local
DOMAIN_LANDING1_NAME="Landing 1"
DOMAIN_LANDING1_PRIMARY="#4f46e5"
DOMAIN_LANDING1_ACCENT="#f59e0b"
DOMAIN_LANDING2=landing2.local
DOMAIN_LANDING2_NAME="Landing 2"
DOMAIN_LANDING2_PRIMARY="#0d9488"
DOMAIN_LANDING2_ACCENT="#ec4899"
# Entwicklungseinstellungen für Domains
DEV_SIMULATE_DOMAIN=false
DEV_SIMULATED_DOMAIN=b2in.local
Entwicklungsmodus
Während der Entwicklung kann es nützlich sein, verschiedene Domains zu simulieren, ohne die Host-Datei bearbeiten zu müssen:
- Setze
DEV_SIMULATE_DOMAIN=truein deiner.env-Datei. - Setze
DEV_SIMULATED_DOMAINauf eine der konfigurierten Domains (z.B.landing1.local).
Dies bewirkt, dass die Anwendung so reagiert, als würde sie unter der angegebenen Domain laufen, unabhängig von der tatsächlichen URL.
Domain-spezifische Konfiguration
Jede Domain kann eigene Einstellungen haben:
Admin-Portal (portal.b2in.local)
DOMAIN_ADMIN: Die Domain für den Admin-BereichDOMAIN_ADMIN_NAME: Der Name des Admin-Bereichs
Haupt-Website (b2in.local)
DOMAIN_MAIN: Die Domain für die Haupt-WebsiteDOMAIN_MAIN_NAME: Der Name der Haupt-Website
Landing-Page 1 (landing1.local)
DOMAIN_LANDING1: Die Domain für Landing-Page 1DOMAIN_LANDING1_NAME: Der Name der Landing-Page 1DOMAIN_LANDING1_PRIMARY: Die primäre Farbe im HEX-Format (z.B.#4f46e5)DOMAIN_LANDING1_ACCENT: Die Akzentfarbe im HEX-Format (z.B.#f59e0b)
Landing-Page 2 (landing2.local)
DOMAIN_LANDING2: Die Domain für Landing-Page 2DOMAIN_LANDING2_NAME: Der Name der Landing-Page 2DOMAIN_LANDING2_PRIMARY: Die primäre Farbe im HEX-Format (z.B.#0d9488)DOMAIN_LANDING2_ACCENT: Die Akzentfarbe im HEX-Format (z.B.#ec4899)
Hosts-Datei konfigurieren
Um die verschiedenen Domains lokal zu testen, füge folgende Zeilen zu deiner Hosts-Datei hinzu:
127.0.0.1 portal.b2in.local
127.0.0.1 b2in.local
127.0.0.1 landing1.local
127.0.0.1 landing2.local
Die Hosts-Datei befindet sich unter:
- Windows:
C:\Windows\System32\drivers\etc\hosts - macOS/Linux:
/etc/hosts
Verwendung im Code
Im Code kannst du auf die Domain-Konfiguration zugreifen:
// Domain-Name in einem View
{{ $domainName }}
// Theme in einem View
{{ $theme }}
// Vollständige Domain-Konfiguration
{{ $domainConfig['description'] }}
// Über die app-Config
{{ config('app.theme') }}
{{ config('app.domain_name') }}
Jede Domain lädt automatisch ihr eigenes CSS und andere domainspezifische Assets.