Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Hook useRewriteURL
El hook useRewriteURL para Next.js es un hook del lado del cliente que gestiona automáticamente las reescrituras de URL localizadas. Asegura que la URL del navegador siempre refleje la ruta localizada "amigable" definida en tu intlayer.config.ts, incluso si el usuario introduce manualmente una ruta canónica con un prefijo de locale.
Este hook funciona de forma silenciosa usando window.history.replaceState, evitando navegaciones redundantes del enrutador de Next.js o recargas de página.
Uso
Simplemente llama al hook en un Componente cliente que forme parte de tu layout.
Copiar el código al portapapeles
"use client";import { useRewriteURL } from "next-intlayer";const MyClientComponent = () => { // Corrige automáticamente /fr/privacy-notice a /fr/politique-de-confidentialite en la barra de direcciones useRewriteURL(); return null;};Cómo funciona
- Monitorización de la ruta: El hook escucha los cambios en el
localedel usuario. - Detección de reescrituras: Comprueba el
window.location.pathnameactual frente a las reglas de reescritura en tu configuración. - Corrección de la URL: Si se encuentra un alias localizado más "bonito" para la ruta actual, el hook dispara un
window.history.replaceStatepara actualizar la barra de direcciones manteniendo al usuario en la misma página interna.
¿Por qué usarlo en Next.js?
Mientras el intlayerMiddleware gestiona las reescrituras del lado del servidor y los redireccionamientos iniciales, el hook useRewriteURL garantiza que la URL del navegador permanezca coherente con tu estructura SEO preferida incluso después de las transiciones del lado del cliente.
- URLs limpias: Hace cumplir el uso de segmentos localizados como
/fr/essaisen lugar de/fr/tests. - Rendimiento: Actualiza la barra de direcciones sin desencadenar un ciclo completo del enrutador ni volver a solicitar datos.
- Alineación con SEO: Evita problemas de contenido duplicado asegurando que solo una versión de la URL sea visible para el usuario y los bots de los motores de búsqueda.