Come reindirizzare gli URL utilizzando NGINX? (Temporanea permanente)

Pubblicato: 2024-01-26

Sommario
Cos'è il reindirizzamento?
Qual è la necessità del reindirizzamento Nginx?
Metodi comuni di reindirizzamento Nginx (temporanei e permanenti)
Come reindirizzare gli URL utilizzando Nginx (temporaneo e permanente)
Controlla la sintassi Nginx
Riavvia il server Nginx
Riepilogo
Domande frequenti

Cos'è il reindirizzamento?

Per quanto riguarda Nginx, il reindirizzamento è una funzione del server Web in cui il traffico del sito Web viene spostato da un URL a un altro. È una delle funzionalità più utili attraverso la quale puoi reindirizzare facilmente e automaticamente i visitatori a un'altra posizione.

Sebbene esistano numerosi tipi di reindirizzamento che è possibile eseguire, i due più importanti e comunemente utilizzati sono il reindirizzamento permanente (301) e quello temporaneo (302).

In questo post ti mostreremo i metodi di reindirizzamento con esempi come, da www a non www, reindirizzamento Nginx a un dominio, reindirizzamento Nginx da HTTP a HTTPS, ecc.


Leggi: Come funziona l'URL di reindirizzamento di WordPress? 5 metodi migliori


Qual è la necessità del reindirizzamento Nginx?

  • Nginx fornisce una delle funzionalità cruciali, ovvero il reindirizzamento degli URL dei siti Web a un altro indirizzo in base a criteri.
  • I reindirizzamenti Nginx sono molto intuitivi e facili da configurare, grazie ai quali è molto flessibile gestire gli URL dei siti Web.
  • È molto utile per preservare il posizionamento SEO di una pagina, soprattutto se stai migrando da un CMS a un altro.
  • La funzione di reindirizzamento aiuta anche a mantenere la posizione SERP nonostante i cambiamenti nella struttura dell'URL.

Metodi comuni di reindirizzamento Nginx (temporanei e permanenti)

Come abbiamo già accennato, sono disponibili diversi tipi di metodi di reindirizzamento, ma in pratica ne esistono solo due comunemente utilizzati, ovvero il reindirizzamento temporaneo e permanente.

Reindirizzamento temporaneo (codice di risposta: 302 trovato)

  • Dal nome stesso, puoi anticipare cosa faranno i farmaci temporanei. Bene, questo metodo ha lo scopo di modificare temporaneamente la posizione di una pagina da un luogo a un altro.
  • Il codice di risposta: 302 Found viene utilizzato per mostrare l'inoltro temporaneo di una pagina durante questi reindirizzamenti.
  • Viene utilizzato principalmente durante la manutenzione del sito Web; il reindirizzamento temporaneo informa il traffico o gli utenti della temporanea indisponibilità del sito web.
  • Può anche essere utilizzato per reindirizzare una pagina incompleta a un altro punto o home page.
  • Scenario di esempio: il visitatore accede alla pagina del sito Web ma, a causa della manutenzione, viene reindirizzato a una notifica che indica che il sito Web è attualmente in manutenzione.
Temporary Redirection
Reindirizzamento temporaneo (codice di risposta: 302 trovato)

Reindirizzamento permanente (codice di risposta: 301 trovato)

  • Il reindirizzamento permanente Nginx viene utilizzato per riposizionare permanentemente il dominio di una pagina.
  • Un reindirizzamento 301 viene utilizzato per designare il movimento permanente di una pagina in questo contesto.
  • Questo reindirizzamento viene utilizzato principalmente quando un utente desidera modificare un nome di dominio e non desidera più che il traffico del sito Web acceda alla vecchia posizione.
Permanent Redirection
Reindirizzamento permanente (codice di risposta: 301 trovato)

Come reindirizzare gli URL utilizzando Nginx (temporaneo e permanente)

Prima di iniziare, devi assicurarti che NGINX sia installato sul tuo VPS o Virtual Private Server. Successivamente accedi al tuo VPS tramite SSH. Su Wpoven puoi accedere facilmente al tuo sito tramite la console della riga di comando SSH.


Leggi: Posso accedere al mio sito WPOven tramite SSH


Impostazione della configurazione di NGINX

  • Posizione del file di configurazione NGINX: la configurazione per NGINX è generalmente archiviata in un file .conf, che è un file di testo semplice contenente direttive e impostazioni per il server.
  • Posizione predefinita: la posizione predefinita per i file di configurazione NGINX è spesso all'interno della directory root dei documenti dei tuoi siti. In questo caso, menziona il percorso: /etc/nginx/sites-available/directory_name.conf .
  • Directory radice dei documenti: questa directory è dove sono archiviati i file del tuo sito web. La radice del documento può variare; per un server a sito singolo, potrebbe trovarsi nella directory /html . Se il tuo server ospita più siti, la radice del documento potrebbe trovarsi all'interno di una directory di dominio specifica come /domain.com .
  • Denominazione del file di configurazione: il nome del tuo file .conf corrisponde al tuo sito. Ad esempio, se il tuo sito si trova nella directory /html , il file .conf potrebbe essere denominato html.conf . Se si trova in una directory come /domain.com , il file .conf potrebbe essere denominato domain.com.conf .
  • File di configurazione predefinito: all'interno della /etc/nginx/sites-available/directory , di solito è presente un file predefinito che è possibile utilizzare come modello. Questo file potrebbe contenere configurazioni di base che è possibile copiare o modificare in base alle proprie esigenze.
  • Creazione di un nuovo file di configurazione: in alternativa, hai la possibilità di creare un nuovo file .conf. Ad esempio, potresti creare un file denominato html.conf o domain.com.conf in base alla struttura del tuo sito e alle convenzioni di denominazione.

Potresti essere sorpreso di sapere che, in Nginx, è disponibile uno strumento integrato chiamato direttiva “riscrittura”. È uno strumento molto utile che semplifica il reindirizzamento. La parte migliore è che non devi fare nulla di speciale, è automaticamente presente ogni volta che installi un nuovo Nginx.

Questa direttiva di "riscrittura" non è pensata solo per eseguire reindirizzamenti di base, ma è piuttosto versatile. sarai cioè in grado di creare due tipi di reindirizzamenti, permanenti e temporanei.

Tutto quello che devi fare è passare solo due argomenti, il vecchio URL e il Nuovo URL. Di seguito sono riportati alcuni esempi come riferimento. Basta inserire le seguenti righe nella configurazione del server.

Innanzitutto, apri il file di configurazione inserendo il seguente comando nel terminale.

$ sudo vi /etc/nginx/nginx.conf

successivamente utilizzare i seguenti comandi indicati di seguito secondo le proprie esigenze.

1. Reindirizzamento Nginx da pagina a pagina

Reindirizzamento temporaneo da pagina a pagina Nginx

server {
# Temporary redirect to an individual page
rewrite ^/oldpage$ http://www.example.com/newpage redirect;
}

Reindirizzamento permanente da pagina a pagina Nginx

server {
# Permanent redirect to an individual page
rewrite ^/oldpage$ http://www.example.com/newpage permanent;
}

Dai comandi precedenti, hai notato che se vuoi creare un reindirizzamento permanente, tutto ciò che devi fare è sostituire “redirect” con “permanent” alla fine della direttiva.

2. Reindirizzamento Nginx da WWW a non www

Reindirizzamento da www permanente a non www:

server {
# Permanent redirect to non-www
server_name www.example.com;
rewrite ^/(.*)$ http://example.com/$1 permanent;
}


Nota : nel caso in cui desideri reindirizzare da non www a www, devi solo sostituire gli URL del sito web menzionati nel comando precedente. cioè sostituisci www.example.com con example.com e viceversa.


3. Come reindirizzare l'URL da HTTP a HTTPS in Nginx?

Prima di eseguire questo reindirizzamento, non dimenticare di installare il certificato SSL. Il reindirizzamento a HTTPS ha i suoi vantaggi. Aiuta a proteggere il tuo sito web da tutti gli attacchi MIMT, furto di dati, ecc. E anche le loro porte sono diverse, ad esempio HTTP utilizza la porta 80 mentre HTTPS utilizza la porta 443.

Quindi, per proteggere tutte le informazioni sensibili condivise tra te e il tuo visitatore, hai bisogno dei seguenti comandi:

server {
listen 80;
server_name www.domain.tld;
return 301 https://www.domain.tld$request_uri;
}

4. URL di reindirizzamento Nginx a un altro URL

Se desideri reindirizzare in modo permanente, ad esempio il reindirizzamento nginx a un altro URL 301, utilizza il seguente comando:

A un nuovo dominio da un dominio precedente,

server {
listen 80;
listen 443 ssl;
server_name olddomain.com www.olddomain.com;
return 301 $scheme://www.newdomain.com$request_uri;
}

O

server {
# Permanent redirect to new URL
listen 443 ssl;
# Add this line to listen on the HTTPS port and enable SSL server_name olddomain.com;
ssl_certificate /path/to/your/ssl_certificate.crt; # Update with the actual path to your SSL certificate
ssl_certificate_key /path/to/your/ssl_certificate_key.key; # Update with the actual path to your SSL certificate key
# Additional SSL settings can be configured here
rewrite ^/(.*)$ https://newdomain.com/$1 permanent;
# Update to use 'https' protocol
}

  • Abbiamo impostato un reindirizzamento per il nostro sito Web utilizzando uno strumento chiamato direttiva "riscrittura" in Nginx.
  • ^/(.*)$ è un'espressione regolare che utilizzerà tutto dopo l'ultima barra ( / ) nell'URL.
  • Ad esempio, se qualcuno tenta di accedere http://olddomain.com/index.html , utilizzerà la parte index.html .
  • Pertanto, se stavi andando su http://olddomain.com/index.html , ti reindirizzerà senza problemi a http://newdomain.com/index.html .
  • L'idea è reindirizzare senza problemi gli utenti allo stesso contenuto sul nuovo dominio.
  • Per garantire che questo reindirizzamento sia permanente, abbiamo aggiunto una parola chiave speciale, "Permanente" dopo la direttiva rewrite .
  • Questo comunica sia ai browser che ai motori di ricerca che si tratta di un cambiamento permanente, utilizzando quello che viene chiamato codice di stato HTTP 301.

5. Nginx reindirizza a un altro dominio senza modificare l'URL

Supponiamo di voler reindirizzare il dominio olddomain.com a newdomain.com senza modificare l'URL. Significa che quando inserisci olddomain.com, dovrebbe reindirizzare a newdomain.com, ma l'URL dovrebbe comunque visualizzare olddomain.com.

Ecco come puoi avvicinarti

server {
listen 80;
server_name olddomain.com;

location / {
proxy_pass http://newdomain.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}

6. Reindirizzamento Nginx del sito specifico

server {
listen 80;
server_name example.com;
return 301 http://newexample.com$request_uri;
}


Controlla la sintassi Nginx

Per verificare che tutta la sintassi nginx sia corretta, utilizzare il seguente comando:

nginx -t

Se l'output risulta essere vuoto significa che la sintassi è corretta ed è necessario riavviare Nginx Server per rendere effettive queste modifiche.


Riavvia il server Nginx

Non dimenticare di riavviare il tuo server Nginx per rendere effettive queste regole utilizzando il comando:

sudo systemctl restart Nginx


Riepilogo

Come già accennato in precedenza, Nginx si è rivelato il server web più potente e facile da usare che ti consente di effettuare facilmente reindirizzamenti Nginx permanenti e temporanei.

Dopo aver letto questo blog, ora sai come creare URL di reindirizzamento utilizzando NGINX. Se, per reindirizzare nginx da HTTP a HTTPS, da un dominio a un altro dominio, ecc.

Inoltre, hai imparato come i reindirizzamenti influenzano il tuo posizionamento SEO, quindi assicurati sempre di utilizzare il tipo di reindirizzamento corretto.

Con questa utile funzionalità, puoi facilmente modificare la struttura del tuo sito web in base alle tendenze e ai requisiti e astenerti dal timore del traffico e della perdita del ranking SERP.

WPOven offre opzioni di hosting gestite da WordPress per il tuo prossimo progetto NGINX. Contattaci per discutere le migliori opzioni per te.

Se avete domande o suggerimenti, fatecelo sapere nella sezione commenti qui sotto:


Domande frequenti

Come reindirizzare un URL in nginx?

In Nginx è disponibile uno strumento integrato chiamato direttiva “riscrittura”. È uno strumento molto utile che semplifica il reindirizzamento. La parte migliore è che non devi fare nulla di speciale, è automaticamente presente ogni volta che installi un nuovo Nginx.

Qual è il codice di reindirizzamento per Nginx?

Nginx è abbastanza versatile e offre due tipi di reindirizzamenti, permanente il cui codice di risposta è 301 e il codice di risposta di riduzione temporanea è 302.

A cosa serve NGINX?

Nginx è un server Web versatile e ad alte prestazioni e un server proxy inverso. Viene comunemente utilizzato per i seguenti scopi: server Web , server proxy inverso , bilanciatore del carico , terminazione SSL/TLS , memorizzazione nella cache , rete per la distribuzione di contenuti (CDN) , gateway API , supporto WebSocket , sicurezza e architettura ad alta disponibilità .