Pose una domanda e ottieni un riassunto del documento facendo riferimento a questa pagina e al provider AI di tua scelta
Il contenuto di questa pagina è stato tradotto con un'IA.
Vedi l'ultima versione del contenuto originale in ingleseSe hai un’idea per migliorare questa documentazione, non esitare a contribuire inviando una pull request su GitHub.
Collegamento GitHub alla documentazioneCopia il Markdown del documento nella porta-documenti
Hook useRewriteURL
L'hook useRewriteURL è progettato per gestire le riscritture di URL localizzate lato client. Rileva automaticamente se l'URL corrente dovrebbe essere corretto in una versione localizzata "più leggibile" in base alla locale dell'utente e alle regole di riscrittura definite in intlayer.config.ts.
A differenza della navigazione standard, questo hook utilizza window.history.replaceState per aggiornare l'URL nella barra degli indirizzi senza causare un ricaricamento completo della pagina o un ciclo di navigazione del router.
Utilizzo
Chiamare semplicemente l'hook in un componente client-side.
Come funziona
- Rilevamento: L'hook monitora l'attuale
window.location.pathnamee lalocaledell'utente. - Corrispondenza: Utilizza il motore interno di Intlayer per verificare se l'attuale pathname corrisponde a una route canonica che ha un alias localizzato più gradevole per la locale corrente.
- Correzione dell'URL: Se viene trovato un alias migliore (e diverso dal percorso corrente), l'hook chiama
window.history.replaceStateper aggiornare l'URL del browser preservando lo stesso contenuto canonico e lo stato.
Perché usarlo?
- SEO: Garantisce che gli utenti arrivino sempre sull'unico pretty URL autorevole per una determinata lingua.
- Coerenza: Evita incongruenze in cui un utente potrebbe digitare manualmente un percorso canonico (ad es.
/it/privacy-notice) invece della versione localizzata (/it/informativa-sulla-privacy). - Prestazioni: Aggiorna la barra degli indirizzi senza attivare effetti collaterali indesiderati del router o il rimontaggio dei componenti.