Un redirect è un modo per inviare sia gli utenti che i motori di ricerca a un URL diverso da quello inizialmente richiesto. Questa guida ti guiderà attraverso le basi dei redirect e come implementarli utilizzando Nginx, rendendo il tuo percorso di gestione del sito web più fluido ed efficiente. La semplicità dei file di configurazione di Nginx lo rende uno strumento accessibile per l’impostazione dei redirect.
La creazione di redirect in Nginx avviene modificando i file di configurazione del server. Il file di configurazione primario per Nginx si trova in /etc/nginx/nginx.conf
. Le configurazioni dei singoli siti risiedono in /etc/nginx/sites-available
e sono abilitate tramite collegamento a /etc/nginx/sites-enabled
. Familiarizzare con questi file è fondamentale per gestire con successo i redirect.
Un redirect 301 viene utilizzato quando una pagina è stata spostata in modo permanente. Per implementare un redirect 301 in Nginx, dovresti aggiungere la seguente riga al blocco di configurazione del server:
rewrite ^/old-page$ http://www.yourdomain.com/new-page permanent;
Un redirect 302 è simile ma viene utilizzato quando lo spostamento è temporaneo. La riga di configurazione di Nginx sarebbe simile a questa:
rewrite ^/old-page$ http://www.yourdomain.com/new-page redirect;
Per più modifiche URL, i reindirizzamenti con caratteri jolly sono utili. Con Nginx, puoi usare espressioni regolari per abbinare i pattern:
rewrite ^/old-folder/(.*)$ http://www.yourdomain.com/new-folder/$1 permanent;
Rendere canonico il tuo dominio è fondamentale per la SEO. Ecco come reindirizzare www
versione del tuo sito al non-www
:
server { server_name www.yourdomain.com; return 301 $scheme://yourdomain.com$request_uri; }
Dopo aver impostato i reindirizzamenti, è essenziale testarli per assicurarsi che funzionino come previsto.
Puoi testare i redirect visitando i vecchi URL e osservando se vieni indirizzato alla nuova posizione. Strumenti come curl
sono utili anche per testare i redirect in modo non interattivo.
Se un redirect non funziona, controlla che non ci siano errori di battitura nei pattern URL o percorsi di file non corretti. Assicurati di ricaricare Nginx dopo aver apportato modifiche ( sudo systemctl reload nginx
) in modo che gli aggiornamenti abbiano effetto.