Faça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
O conteúdo desta página foi traduzido com uma IA.
Veja a última versão do conteúdo original em 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
useRewriteURL Hook
O hook useRewriteURL para Next.js é um hook do lado do cliente que gere automaticamente reescritas de URL localizadas. Ele garante que a URL no navegador reflita sempre o caminho localizado "bonito" definido no seu intlayer.config.ts, mesmo se o utilizador digitar manualmente um caminho canónico com um prefixo de locale.
Este hook atua silenciosamente usando window.history.replaceState, evitando navegações redundantes pelo router do Next.js ou atualizações de página.
Uso
Basta chamar o hook em um Client Component que faça parte do seu layout.
Copiar o código para a área de transferência
"use client";import { useRewriteURL } from "next-intlayer";const MyClientComponent = () => { // Corrige automaticamente /fr/privacy-notice para /fr/politique-de-confidentialite na barra de endereços useRewriteURL(); return null;};Como funciona
- Monitoramento de caminho: O hook escuta mudanças no
localedo usuário. - Detecção de rewrite: Ele verifica o
window.location.pathnameatual em relação às regras de rewrite na sua configuração. - Correção de URL: Se um alias localizado mais legível for encontrado para o caminho atual, o hook dispara um
window.history.replaceStatepara atualizar a barra de endereços mantendo o usuário na mesma página interna.
Por que usá-lo no Next.js?
Enquanto o intlayerMiddleware gere reescritas no lado do servidor e redirecionamentos iniciais, o hook useRewriteURL assegura que a URL no navegador se mantenha consistente com a sua estrutura SEO preferida mesmo após transições do lado do cliente.
- URLs limpas: Impõe o uso de segmentos localizados como
/fr/essaisem vez de/fr/tests. - Desempenho: Atualiza a barra de endereço sem desencadear um ciclo completo do router ou reobter dados.
- Alinhamento com SEO: Evita problemas de conteúdo duplicado garantindo que apenas uma versão da URL esteja visível para o utilizador e para os bots dos motores de busca.