Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Dieses Dokument ist veraltet, die Basisversion wurde aktualisiert am 3. April 2026.
Zur englischen Doku gehenVersionshistorie
- "Domänenbasiertes Locale-Routing über die Konfiguration routing.domains hinzugefügt."v8.5.02.4.2026
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
Eigene Domains
Intlayer unterstützt domänenbasiertes Locale-Routing, sodass Sie spezifische Locales über dedizierte Hostnamen bereitstellen können. Beispielsweise können chinesische Besucher auf intlayer.zh anstatt auf intlayer.org/zh geleitet werden.
Funktionsweise
Die domains-Map in routing ordnet jeder Locale einen Hostnamen zu. Intlayer verwendet diese Map an zwei Stellen:
- URL-Generierung (
getLocalizedUrl): Wenn sich die Ziel-Locale auf einer anderen Domain als die aktuelle Seite befindet, wird eine absolute URL zurückgegeben (z. B.https://intlayer.zh/about). Wenn beide Domains übereinstimmen, wird eine relative URL zurückgegeben (z. B./fr/about). - Server-Proxy (Next.js & Vite): Eingehende Anfragen werden basierend auf der Domain, auf der sie ankommen, umgeleitet oder umgeschrieben.
Exklusive vs. gemeinsame Domains
Der entscheidende Unterschied ist die Exklusivität:
- Exklusive Domain - Nur eine Locale wird diesem Hostnamen zugeordnet (z. B.
zh → intlayer.zh). Die Domain selbst identifiziert die Locale, daher wird dem Pfad kein Locale-Präfix hinzugefügt.https://intlayer.zh/aboutstellt chinesische Inhalte bereit. - Gemeinsame Domain - Mehrere Locales werden demselben Hostnamen zugeordnet (z. B. werden sowohl
enals auchfraufintlayer.orgabgebildet). Es gilt das normale präfixbasierte Routing.intlayer.org/fr/aboutstellt französische Inhalte bereit.
Konfiguration
Locales, die nicht in domains aufgeführt sind, verwenden weiterhin das Standard-Präfix-Routing ohne Domain-Überschreibung.
URL-Generierung
getLocalizedUrl erzeugt automatisch den richtigen URL-Typ basierend auf dem Aufrufkontext.
Locale auf derselben Domain (relative URL)
Domainübergreifende Locale (absolute URL)
Bereitstellung über die eigene Domain der Locale
Automatische Erkennung der aktuellen Domain
currentDomain ist optional. Wenn es weggelassen wird, löst getLocalizedUrl es in dieser Reihenfolge auf:
- Der Hostname einer absoluten Eingabe-URL (z. B.
https://intlayer.org/about→intlayer.org). window.location.hostnamein Browserumgebungen.- Wenn keines von beiden verfügbar ist (SSR ohne explizite Option), wird eine relative URL für Locales auf derselben Domain zurückgegeben und keine absolute URL erzeugt - dies ist der sichere Fallback.
getMultilingualUrls mit Domains
getMultilingualUrls ruft getLocalizedUrl für jede Locale auf, sodass je nach Domain des Aufrufers eine Mischung aus relativen und absoluten URLs erzeugt wird:
Diese absoluten URLs können direkt in <link rel="alternate" hreflang="...">-Tags für SEO verwendet werden.
Proxy-Verhalten
Next.js
Die intlayerProxy-Middleware übernimmt das Domain-Routing automatisch. Fügen Sie sie zu Ihrer middleware.ts hinzu:
Redirect - Anfrage kommt auf der falschen Domain für ein bestimmtes Locale-Präfix an:
Rewrite - Anfrage kommt auf der exklusiven Domain der Locale ohne Präfix an:
Vite
Das intlayerProxy Vite-Plugin wendet die gleiche Logik während der Entwicklung an:
Hinweis: Bei der lokalen Entwicklung befinden Sie sich normalerweise auflocalhost, daher weisen domainübergreifende Umleitungen auf die Live-Domains anstatt auf einen anderen lokalen Port hin. Verwenden Sie ein Überschreiben der hosts-Datei (z. B.127.0.0.1 intlayer.zh) oder einen Reverse-Proxy, wenn Sie das Multi-Domain-Routing lokal testen müssen.
Locale-Switcher
Der useLocale-Hook von next-intlayer übernimmt die domänenbewusste Navigation automatisch. Wenn ein Benutzer zu einer Locale auf einer anderen Domain wechselt, führt der Hook eine vollständige Seitennavigation (window.location.href) anstelle eines clientseitigen Router-Pushs durch, da der Next.js-Router keine Ursprungsgrenzen überschreiten kann.
Es ist keine zusätzliche Konfiguration erforderlich - useLocale erkennt intern window.location.hostname und entscheidet zwischen router.replace (gleiche Domain) und window.location.href (domainübergreifend).
SEO: hreflang Alternate Links
Domänenbasiertes Routing wird häufig zusammen mit hreflang verwendet, um Suchmaschinen mitzuteilen, welche URL für welche Sprache indexiert werden soll. Verwenden Sie getMultilingualUrls, um den vollständigen Satz alternativer URLs zu generieren:
Dies erzeugt:
Kern-Utilities
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Utility | Beschreibung |
|---|---|
getLocalizedUrl(url, locale, { currentDomain }) | Gibt eine relative oder absolute URL zurück, je nachdem, ob sich die Ziel-Locale auf der aktuellen Domain befindet. |
getMultilingualUrls(url, { currentDomain }) | Gibt eine Map lokalisierter URLs zurück, wobei relative und absolute URLs nach Bedarf gemischt werden. |
getPrefix(locale, { domains }) | Gibt ein leeres Präfix für Locales mit exklusiver Domain zurück, ansonsten das normale Präfix. |