Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisSi vous avez une idée d’amélioration pour améliorer cette documentation, n’hésitez pas à contribuer en submitant une pull request sur GitHub.
Lien GitHub de la documentationCopier le Markdown du doc dans le presse-papiers
Hook useRewriteURL
Le hook useRewriteURL pour Next.js est un hook côté client qui gère automatiquement les réécritures d'URL localisées. Il garantit que l'URL du navigateur reflète toujours le chemin localisé "joli" défini dans votre intlayer.config.ts, même si l'utilisateur saisit manuellement un chemin canonique avec un préfixe de locale.
Ce hook fonctionne discrètement en utilisant window.history.replaceState, évitant des navigations redondantes via le routeur Next.js ou des rafraîchissements de page.
Comment ça fonctionne
- Surveillance du chemin : Le hook écoute les changements de la
localede l'utilisateur. - Détection de réécriture : Il compare le
window.location.pathnameactuel aux règles de réécriture dans votre configuration. - Correction de l'URL : Si un alias localisé plus lisible est trouvé pour le chemin courant, le hook déclenche un
window.history.replaceStatepour mettre à jour la barre d'adresse tout en maintenant l'utilisateur sur la même page interne.
Pourquoi l'utiliser dans Next.js ?
Utilisation
Appelez simplement le hook dans un Client Component qui fait partie de votre layout.
Comment ça marche
- Surveillance du chemin : Le hook écoute les changements de
localede l'utilisateur. - Détection des réécritures : Il compare le
window.location.pathnameactuel aux règles de réécriture de votre configuration. - Correction de l'URL : Si un alias localisé plus lisible est trouvé pour le chemin courant, le hook déclenche un
window.history.replaceStatepour mettre à jour la barre d'adresse tout en maintenant l'utilisateur sur la même page interne.
Pourquoi l'utiliser dans Next.js ?
Alors que le intlayerMiddleware gère les réécritures côté serveur et les redirections initiales, le hook useRewriteURL veille à ce que l'URL du navigateur reste cohérente avec votre structure SEO préférée même après des transitions côté client.
- URLs propres : Imposer l'utilisation de segments localisés comme
/fr/essaisau lieu de/fr/tests. - Performance : Met à jour la barre d'adresse sans déclencher un cycle complet du routeur ni recharger les données.
- Alignement SEO : Évite les problèmes de contenu dupliqué en garantissant qu'une seule version de l'URL soit visible pour l'utilisateur et les robots des moteurs de recherche.