Configurazione di Nginx per reindirizzare www a non-www
I proprietari di siti web spesso utilizzano una singola versione del loro dominio per migliorare SEO ed esperienza utente. Reindirizzare la versione www di un dominio alla versione non-www (o viceversa) è pratica comune. Per gli utenti Nginx, impostare questo reindirizzamento richiede una configurazione specifica. Questo articolo spiega come reindirizzare www a non-www usando Nginx, aiutandoti a mantenere una struttura di dominio coerente per il tuo sito web.
Impostare Nginx per il Reindirizzamento da www a Non-www
Creazione di un Blocco Server per il Reindirizzamento
Per impostare un blocco server per il reindirizzamento da www a non-www:
-
Crea un nuovo file di configurazione:
sudo nano /etc/nginx/sites-available/esempio.com -
Aggiungi questo blocco server:
server { listen 80; server_name www.esempio.com esempio.com; # Altre configurazioni del server vanno qui } -
Usa la direttiva
server_nameper specificare entrambe le versioni www e non-www del tuo dominio. -
Salva il file ed esci dall'editor di testo.
-
Crea un link simbolico per abilitare il sito:
sudo ln -s /etc/nginx/sites-available/esempio.com /etc/nginx/sites-enabled/ -
Rimuovi la configurazione predefinita di Nginx:
sudo rm /etc/nginx/sites-enabled/default
Questa configurazione costituisce la base per implementare il reindirizzamento da www a non-www in Nginx.
Implementazione del Reindirizzamento 301 in Nginx
Scrittura della Regola di Reindirizzamento
Per reindirizzare www a non-www usando Nginx, utilizza la direttiva return con un codice di stato 301. Questo indica un reindirizzamento permanente. Aggiungi questa regola al tuo blocco server:
server {
listen 80;
server_name www.esempio.com esempio.com;
if ($host = www.esempio.com) {
return 301 $scheme://esempio.com$request_uri;
}
# Altre configurazioni del blocco server
}
Questa regola controlla se l'host richiesto è la versione www del tuo dominio. In caso affermativo, reindirizza alla versione non-www, mantenendo lo schema originale (http o https) e qualsiasi parametro URL.
Verifica della Configurazione Nginx
Dopo aver scritto la regola di reindirizzamento, verifica la tua configurazione Nginx per eventuali errori:
-
Esegui questo comando:
sudo nginx -t -
Se non ci sono errori, vedrai un messaggio che indica che il test di configurazione è riuscito.
-
In caso di errori, controlla il tuo file di configurazione e correggi eventuali problemi.
Una volta superato il test di configurazione, ricarica Nginx per applicare le modifiche:
sudo systemctl reload nginx
Questo comando ricarica Nginx senza interrompere le connessioni attive. Il tuo reindirizzamento da www a non-www dovrebbe ora funzionare. Verifica visitando il tuo dominio www in un browser web per confermare che reindirizza alla versione non-www.
Considerazioni Aggiuntive per il Reindirizzamento
Gestione delle Connessioni HTTPS
Per gestire le connessioni HTTPS, configura i certificati SSL e aggiorna il tuo blocco server Nginx:
-
Ottieni un certificato SSL per il tuo dominio.
-
Installa il certificato SSL sul tuo server.
-
Aggiorna il tuo blocco server Nginx per supportare HTTPS:
server {
listen 80;
listen 443 ssl;
server_name www.esempio.com esempio.com;
ssl_certificate /percorso/del/tuo/certificato.crt;
ssl_certificate_key /percorso/della/tua/chiave.key;
if ($host = www.esempio.com) {
return 301 https://esempio.com$request_uri;
}
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
# Altre configurazioni SSL e del server
}
Questa configurazione reindirizza il traffico HTTP e HTTPS da www a non-www e utilizza HTTPS per tutte le connessioni.
Configurazione DNS per Domini www e Non-www
Per configurare il DNS per domini www e non-www:
-
Crea un record A per il tuo dominio non-www (esempio.com) che punti all'indirizzo IP del tuo server.
-
Imposta un record CNAME per il sottodominio www (www.esempio.com) che punti al tuo dominio non-www.
Esempio di record DNS:
esempio.com. A 123.45.67.89
www.esempio.com. CNAME esempio.com.
Dopo aver apportato modifiche al DNS, consenti il tempo necessario per la propagazione. Questo può richiedere fino a 48 ore, ma spesso avviene entro poche ore. Usa strumenti online di ricerca DNS per verificare lo stato di propagazione del tuo dominio.
Gestendo le connessioni HTTPS e configurando il DNS, crei un sistema di reindirizzamento sicuro per i tuoi domini www e non-www.
Risoluzione dei Problemi Comuni di Reindirizzamento
Gestione dei Loop di Reindirizzamento
I loop di reindirizzamento si verificano quando i reindirizzamenti portano nuovamente all'URL originale, creando un ciclo. Per individuare e risolvere i reindirizzamenti circolari:
-
Usa strumenti online di verifica dei reindirizzamenti o gli strumenti per sviluppatori del browser per individuare i loop.
-
Controlla i tuoi file di configurazione Nginx per regole di reindirizzamento in conflitto.
-
Cerca reindirizzamenti nel tuo sistema di gestione dei contenuti o nei file .htaccess.
Per trovare problemi di reindirizzamento nei log del server:
-
Accedi ai log di errore di Nginx:
sudo tail -f /var/log/nginx/error.log -
Cerca voci di reindirizzamento ripetute o messaggi di errore.
-
Usa strumenti di analisi dei log per trovare modelli nel comportamento di reindirizzamento.
Ottimizzazione del Reindirizzamento per i Motori di Ricerca
Per aiutare i motori di ricerca a comprendere i tuoi reindirizzamenti:
-
Usa reindirizzamenti 301 (permanenti) per www a non-www. Verifica questo nella tua configurazione Nginx:
return 301 $scheme://esempio.com$request_uri; -
Aggiorna la tua sitemap XML:
- Rimuovi gli URL www
- Aggiungi gli URL non-www
- Invia la sitemap aggiornata ai motori di ricerca
-
Modifica il tuo file robots.txt:
- Usa la versione non-www nella direttiva Sitemap
- Esempio:
Sitemap: https://esempio.com/sitemap.xml
-
Usa Google Search Console per:
- Impostare la versione preferita del tuo dominio
- Controllare errori di crawling relativi ai reindirizzamenti
Risolvendo i loop di reindirizzamento e ottimizzando per i motori di ricerca, puoi migliorare le prestazioni del tuo sito web e la visibilità nelle ricerche.





