Configurarea redirecționărilor cu Nginx pe un VPS

Atunci când gestionați un site web sau o aplicație pe VPS, redirecționările sunt esențiale pentru a controla modul în care traficul circulă între URL-uri. Fie că treceți la HTTPS, redirecționați un domeniu vechi sau curățați linkurile întrerupte, Nginx face ușoară și eficientă gestionarea redirecționărilor la nivelul serverului web.

În acest ghid, vom acoperi modul de configurare a diferitelor tipuri de redirecționări în Nginx, inclusiv:

  • Redirecționări permanente (301)

  • Redirecționări temporare (302)

  • HTTP către HTTPS

  • Non-www în www (și viceversa)

  • Rescrieri specifice căii

Condiții prealabile

  • Un VPS cu Nginx instalat

  • Root sau acces sudo

  • Fișierul de configurare al site-ului dvs. (de obicei în /etc/nginx/sites-available/ sau /etc/nginx/conf.d/)

1. Redirecționare permanentă (301)

Utilizați această opțiune atunci când o adresă URL sau un domeniu s-a schimbat permanent.

✅ Exemplu: Redirecționare de la domeniul vechi la domeniul nou

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

🔐 Sfat: Întotdeauna redirecționați către HTTPS atunci când este posibil.

2. Redirecționare temporară (302)

Utilizați această opțiune pentru redirecționarea temporară (de exemplu, în timpul întreținerii).

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

3. Redirecționarea HTTP către HTTPS

Acest lucru este foarte recomandat pentru SEO și securitate.

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

Apoi configurați separat blocul serverului HTTPS:

server {
listen 443 ssl;
server_name example.com;
# SSL config here
}

4. Redirecționați www către non-www (sau invers)

Alegeți o versiune preferată pentru coerență și SEO.

De la www la non-www:

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

Sau de la non-www la www:

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

5. Redirecționarea unei căi specifice

Exemplu: Redirecționați /blog către /articole:

location = /blog {
return 301 /articles;
}

Sau cu URL-ul complet:

location = /blog {
return 301 https://example.com/articles;
}

Unde să plasați aceste directive

Toate directivele de mai sus trebuie să fie plasate în blocul de server corespunzător din fișierul de configurare al site-ului dvs:

/etc/nginx/sites-available/example.com

Apoi faceți un link simbolic către sites-enabled dacă este necesar:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

După actualizarea configurațiilor

Testați întotdeauna configurația Nginx înainte de reîncărcare:

sudo nginx -t

Dacă nu există erori:

sudo systemctl reload nginx

Bonus: Redirecționați toate erorile 404 către pagina principală

error_page 404 =301 /;

Plasați acest lucru în interiorul blocului serverului pentru a gestiona cu eleganță linkurile întrerupte.

Nginx nu este doar un server web de înaltă performanță – este, de asemenea, un instrument puternic pentru controlul traficului și al experienței utilizatorului prin redirecționări inteligente. Cu doar câteva linii de configurare, puteți aplica HTTPS, puteți ghida utilizatorii către URL-urile corecte și vă puteți optimiza site-ul atât pentru SEO, cât și pentru securitate.