Umbenennung presseportale → pressekonto in Domains, Themes und Dokumentation. Design-Tokens, Portal-Shell, Customer-Dashboard, Auth- und Admin-PM-Views. Artisan-Befehl migrate:legacy-media mit Tests und Hub-Flux-Entwicklungsdocs. Co-authored-by: Cursor <cursoragent@cursor.com>
3.6 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
APP_NAME=pressekonto
APP_URL=https://pressekonto.test
APP_PRIMARY="#3ea3dc"
APP_ACCENT="#5c5c60"
# Entwicklungseinstellungen für Domains
DEV_SIMULATE_DOMAIN=false
DEV_SIMULATED_DOMAIN=pressekonto.test
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:
Haupt-Website (pressekonto.test)
APP_URL: Die Domain für die Haupt-Website (https://pressekonto.test)APP_NAME: Der Name der Haupt-Website (pressekonto)APP_PRIMARY: Die primäre Farbe im HEX-Format (#3ea3dc)APP_ACCENT: Die Akzentfarbe im HEX-Format (#5c5c60)
Presseecho (presseecho.test)
APP_PRESSEECHO: Die Domain für Presseecho (presseecho.test)APP_PRESSEECHO_URL: Die vollständige URL (https://presseecho.test)APP_PRESSEECHO_NAME: Der Name der Website (presseecho)APP_PRESSEECHO_PRIMARY: Die primäre Farbe im HEX-Format (#e94a3c)APP_PRESSEECHO_ACCENT: Die Akzentfarbe im HEX-Format (#5c5c60)
Business Portal (businessportal24.test)
APP_BUSINESSPORTAL: Die Domain für das Business Portal (businessportal24.test)APP_BUSINESSPORTAL_URL: Die vollständige URL (https://businessportal24.test)APP_BUSINESSPORTAL_NAME: Der Name der Website (businessportal24)APP_BUSINESSPORTAL_PRIMARY: Die primäre Farbe im HEX-Format (#f69f0f)APP_BUSINESSPORTAL_ACCENT: Die Akzentfarbe im HEX-Format (#5c5c60)
Hosts-Datei konfigurieren
Um die verschiedenen Domains lokal zu testen, füge folgende Zeilen zu deiner Hosts-Datei hinzu:
127.0.0.1 pressekonto.test
127.0.0.1 presseecho.test
127.0.0.1 businessportal24.test
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') }}
// Aktuelle Domain ermitteln
{{ request()->getHost() }}
// Domain-spezifische Assets laden
@vite(['resources/css/web/theme-main.css'])
Aktuelle Implementierung
Das Projekt verwendet bereits eine Multi-Domain-Architektur mit:
- Hauptwebsite:
pressekonto.test- Hauptwebsite mit blauem Theme (#3ea3dc) - Presseecho:
presseecho.test- Presseecho-Website mit rotem Theme (#e94a3c) - Business Portal:
businessportal24.test- Business Portal mit orangem Theme (#f69f0f)
Jede Domain kann eigene Farben, Namen und Konfigurationen haben und lädt automatisch domainspezifische Assets über Vite.
Verfügbare Routen
- Web:
/,/welcome - Auth:
/login,/register,/forgot-password - Admin:
/dashboard,/admin/users,/settings/*(falls implementiert)