Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
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
useRewriteURL Hook
Der useRewriteURL-Hook dient zur Verwaltung lokalisierter URL-Umleitungen auf der Client-Seite. Er erkennt automatisch, ob die aktuelle URL basierend auf der Nutzer-Locale und den in intlayer.config.ts definierten Rewrite-Regeln auf eine "schönere" lokalisierte Version korrigiert werden sollte.
Im Gegensatz zur standardmäßigen Navigation verwendet dieser Hook window.history.replaceState, um die URL in der Adressleiste zu aktualisieren, ohne einen vollständigen Seitenreload oder einen Router-Navigationszyklus auszulösen.
Verwendung
Rufen Sie den Hook einfach in einer clientseitigen Komponente auf.
Wie es funktioniert
- Erkennung: Der Hook überwacht den aktuellen
window.location.pathnameund dielocaledes Benutzers. - Abgleich: Er verwendet die interne Intlayer-Engine, um zu prüfen, ob der aktuelle Pfad mit einer kanonischen Route übereinstimmt, die für die aktuelle Locale ein schöneres lokalisiertes Alias besitzt.
- URL-Korrektur: Wenn ein besseres Alias gefunden wird (und es sich vom aktuellen Pfad unterscheidet), ruft der Hook
window.history.replaceStateauf, um die Browser-URL zu aktualisieren und dabei denselben kanonischen Inhalt und Zustand beizubehalten.
Warum verwenden?
- SEO: Stellt sicher, dass Nutzer stets auf der einzigen, maßgeblichen „schönen“ URL für eine bestimmte Sprache landen.
- Konsistenz: Verhindert Inkonsistenzen, bei denen ein Nutzer manuell einen kanonischen Pfad eingibt (z. B.
/fr/privacy-notice) statt der lokalisierten Version (/fr/politique-de-confidentialite). - Performance: Aktualisiert die Adresszeile, ohne unerwünschte Router-Nebenwirkungen oder ein erneutes Mounten von Komponenten auszulösen.