Come reindirizzare www a non-www con Nginx su CentOS 7

Come reindirizzare www a non-www con Nginx su CentOS 7

Introduzione

Reindirizzare il traffico da un dominio www a uno non-www (e viceversa) è un’operazione comune nella gestione dei siti web. Ciò può essere necessario per garantire la coerenza dell’indirizzo del sito web, migliorare la SEO e prevenire contenuti duplicati. In questo articolo, forniremo una guida passo passo su come reindirizzare www a non-www utilizzando Nginx sul sistema operativo CentOS 7.

Nginx è un potente server web open source ampiamente utilizzato per ospitare siti web e applicazioni. È noto per le sue prestazioni elevate, la stabilità e le funzionalità flessibili di riscrittura delle URL.

Prerequisiti

Prima di procedere, assicurati di disporre di quanto segue:

– Un server CentOS 7 con Nginx installato
– Privilegi di root o sudo
– Un editor di testo come nano o vi

Configurazione Nginx

1. Aprire il file di configurazione di Nginx

Apri il file di configurazione principale di Nginx utilizzando il tuo editor di testo preferito:


sudo nano /etc/nginx/nginx.conf

2. Aggiungere le direttive di reindirizzamento

All’interno del file di configurazione, cerca la sezione server per il dominio che desideri reindirizzare. Aggiungi le seguenti direttive all’interno di questa sezione:


server {

... (eventuali altre configurazioni) ...

Reindirizzamento da www a non-www

if ($host ~* ^www\.(.+)$ ) {
return 301 https://$1$request_uri;
}

... (eventuali altre configurazioni) ...

}

Questa configurazione reindirizza tutte le richieste al dominio www.dominio.com al dominio dominio.com. L’header di risposta HTTP verrà impostato su 301 (Mosso in modo permanente) per indicare al browser che il reindirizzamento è permanente.

3. Salvare e riavviare Nginx

Dopo aver apportato le modifiche al file di configurazione, salva il file e riavvia Nginx per applicare le nuove impostazioni:


sudo systemctl restart nginx

Verifica del reindirizzamento

Per verificare se il reindirizzamento è stato impostato correttamente, visita il dominio www.dominio.com nel tuo browser. Dovresti essere reindirizzato automaticamente al dominio non-www. Puoi anche utilizzare uno strumento come curl per controllare l’header di risposta HTTP:


curl -I https://www.dominio.com

L’output dovrebbe includere quanto segue:


HTTP/2 301
Location: https://dominio.com/

Conclusione

In questo articolo, abbiamo descritto come reindirizzare www a non-www con Nginx su CentOS 7. Seguendo i passaggi descritti, puoi configurare facilmente il tuo server web per garantire che il traffico venga indirizzato all’indirizzo corretto. Ciò contribuirà a migliorare l’esperienza utente, la SEO e la coerenza del tuo sito web.

FAQ

1. Qual è lo scopo di reindirizzare www a non-www?
I reindirizzamenti vengono utilizzati per garantire la coerenza degli indirizzi dei siti web, migliorare la SEO, prevenire contenuti duplicati ed evitare avvisi di contenuto misto nei browser.

2. Quali sono i diversi codici di stato HTTP che possono essere utilizzati per i reindirizzamenti?
I codici di stato HTTP più comuni utilizzati per i reindirizzamenti sono:
– 301 (Mosso in modo permanente)
– 302 (Trovato)
– 307 (Redirect temporaneo)

3. Come configurare un reindirizzamento 302 da non-www a www in Nginx?
Per configurare un reindirizzamento 302 da non-www a www, aggiungi la seguente direttiva all’interno della sezione server del file di configurazione di Nginx:

if ($host !~* ^www\.(.+)$ ) {
return 302 https://www.$host$request_uri;
}

4. Come disabilitare il reindirizzamento da www a non-www?
Per disabilitare il reindirizzamento da www a non-www, rimuovi le direttive if aggiunte al file di configurazione di Nginx.

5. Posso reindirizzare solo richieste specifiche?
Sì, puoi utilizzare la direttiva location per reindirizzare solo richieste specifiche. Ad esempio, per reindirizzare solo le richieste alla pagina iniziale, aggiungi quanto segue al file di configurazione di Nginx:

location / {
return 301 https://dominio.com/;
}

6. Il reindirizzamento influisce negativamente sulla SEO?
No, i reindirizzamenti 301 vengono generalmente trattati bene dai motori di ricerca e non influiscono negativamente sulla SEO.

7. Cosa fare se il reindirizzamento non funziona?
Verifica quanto segue:
– Se hai apportato le modifiche corrette al file di configurazione di Nginx.
– Se hai salvato e riavviato Nginx.
– Se il tuo browser ha memorizzato nella cache la vecchia versione del sito web. Prova a svuotare la cache del browser.

8. Esistono alternative a Nginx per il reindirizzamento www a non-www?
Sì, puoi utilizzare Apache o un plugin di reindirizzamento WordPress per ottenere lo stesso risultato.