Generatore di redirect .htaccess
Genera redirect 301 e 302 per .htaccess o Nginx, forza HTTPS e www, sposta un dominio e gestisci la barra finale, con controllo di loop e catene.
Fai prima un backup della configurazione attuale e prova con un 302 prima di passare al 301: i browser memorizzano nella cache i redirect permanenti.
Controlli
Nessun problema trovato.
Come usare il generatore di redirect .htaccess
- Scegli il tuo Server: Apache (.htaccess) o Nginx, poi il Tipo di redirect: 301 – permanente o 302 – temporaneo.
- In Redirect di pagine, scrivi un redirect per riga: il vecchio percorso, uno spazio e poi il nuovo URL, per esempio
/vecchia-pagina.html /nuova-pagina/. Funzionano anche una tabulazione, una virgola o->, e puoi incollare vecchi URL completi o righeRedirect 301 /a /bgià esistenti. - Se vuoi, inserisci Il tuo dominio (per esempio
example.com) così i redirect di pagina puntano direttamente all’indirizzo finale. - In Indirizzo canonico, spunta Forza HTTPS e scegli Forza www, Rimuovi www o Lascia www com’è. In Barra finale, decidi se aggiungerla o toglierla.
- Se l’intero sito ha cambiato indirizzo, compila Sposta l’intero dominio con il Vecchio dominio e il Nuovo indirizzo, e lascia spuntato Mantieni il percorso perché ogni pagina arrivi alla sua equivalente.
- Leggi i Controlli, poi usa Copia o Scarica per prendere le regole. Con Carica un esempio vedi una configurazione completa.
Come funzionano le regole generate
Per Apache, lo strumento scrive regole mod_rewrite che iniziano con un unico RewriteEngine On. Ogni pagina diventa una RewriteRule il cui pattern inizia con ^/?, così funziona sia in un file .htaccess (dove la barra iniziale viene tolta) sia in un blocco <VirtualHost>. Punti, parentesi, segni più e gli altri caratteri delle espressioni regolari nei tuoi percorsi vengono protetti con l’escape, e uno spazio diventa \x20. Nel nuovo URL, $ e % vengono protetti perché Apache li leggerebbe come riferimenti all’indietro, e il flag NE impedisce ad Apache di codificare l’URL una seconda volta.
Una RewriteRule non vede mai la query string. Quando un vecchio indirizzo ne contiene una, come /prodotto.php?id=42, lo strumento aggiunge una riga RewriteCond %{QUERY_STRING} ^id=42$ e il flag QSD, così i vecchi parametri vengono scartati invece di essere copiati sulla nuova pagina.
Le regole sono ordinate per evitare passaggi inutili: prima lo spostamento del dominio, poi i redirect di pagina, poi la barra finale, infine HTTPS e www. HTTPS e www sono gestiti da un’unica regola, quindi http://www.example.com va a https://example.com con un solo redirect. Quando il tuo dominio è noto, i redirect di pagina e della barra puntano già all’indirizzo HTTPS finale.
Per Nginx, HTTPS, www e spostamenti di dominio diventano blocchi server separati con return 301, mentre i redirect di pagina diventano righe rewrite da incollare nel tuo blocco server principale. Vengono eseguite prima della corrispondenza delle location, quindi hanno la precedenza anche sulla regola della barra finale. Un ? alla fine di una destinazione impedisce a Nginx di riaccodare la vecchia query string quando non dovrebbe.
Controlli eseguiti
- Una pagina che reindirizza a se stessa, o due pagine che si reindirizzano a vicenda (un loop che finisce con «troppi reindirizzamenti»).
- Catene come A → B → C: fai puntare A direttamente a C, perché ogni passaggio in più rallenta i visitatori e spreca crawl budget.
- Lo stesso vecchio indirizzo elencato due volte, dove si applicherebbe solo la prima regola.
- Una destinazione che non è né un URL assoluto né un percorso che inizia con
/, oppure una destinazionehttp://o con il www sbagliato sul tuo dominio. - Un’impostazione della barra finale che reindirizzerebbe di nuovo una destinazione o la rimanderebbe alla sua origine.
Domande frequenti
Meglio un 301 o un 302?
Usa il 301 quando lo spostamento è definitivo: i motori di ricerca trasferiscono i segnali della vecchia pagina alla nuova e aggiornano l’indice. Usa il 302 per cambiamenti temporanei come una manutenzione o una breve campagna. I browser memorizzano i redirect 301 nella cache, quindi prova prima con un 302.
Dove metto il file .htaccess?
Nella cartella principale del sito (spesso public_html o www), accanto a index.php o index.html. Il file scaricato si chiama htaccess.txt: rinominalo in .htaccess oppure incolla le regole all’inizio del tuo file esistente. Conserva un backup dell’originale.
Perché RewriteRule invece di Redirect 301?
Le righe Redirect appartengono a mod_alias e vengono eseguite in una fase diversa da RewriteRule. Mescolarle nello stesso file rende l’ordine difficile da prevedere. Usare solo mod_rewrite mantiene tutte le regole in una sequenza prevedibile e permette di intercettare le query string.
Dopo aver forzato HTTPS il sito dà «troppi reindirizzamenti». Perché?
Dietro un load balancer, una CDN o un proxy che gestisce l’HTTPS, Apache vede ogni richiesta come HTTP semplice, quindi %{HTTPS} risulta sempre off. In questo caso controlla invece l’header inoltrato, per esempio con RewriteCond %{HTTP:X-Forwarded-Proto} !https, oppure attiva il redirect nella CDN.
Questo strumento modifica il mio server?
No. Genera solo testo nel tuo browser. Nulla viene inviato altrove e sei tu a decidere dove e come installare le regole.
Strumenti correlati
- Generatore di robots.txt Crea un file robots.txt valido con gruppi di user agent, regole Allow e Disallow, sitemap e crawl-delay, con controllo degli errori più comuni.
- Generatore di tag hreflang Genera i tag hreflang per pagine multilingua come tag link HTML, voci di sitemap XML o header HTTP Link, con controllo dei codici ISO e della reciprocità.
- Generatore di meta tag Generatore di meta tag gratuito per title, meta description, URL canonico, robots e viewport, con controllo delle lunghezze e HTML protetto.
- Codifica e decodifica URL Codificatore e decodificatore URL gratuito. Codifica parametri o URL completi, decodifica le sequenze %XX e gestisci + come spazio, tutto nel browser.