Cum se redirecționează adresele URL folosind NGINX? (Temporar permanent)

Publicat: 2024-01-26

Cuprins
Ce este redirecționarea?
Care este nevoie de redirecționare Nginx?
Metode comune de redirecționare Nginx (temporar și permanent)
Cum să redirecționați adresele URL folosind Nginx (temporar și permanent)
Verificați sintaxa Nginx
Reporniți serverul Nginx
rezumat
întrebări frecvente

Ce este redirecționarea?

În ceea ce privește Nginx, redirecționarea este o funcție de server web în care traficul site-ului este mutat de la o adresă URL la alta. Este una dintre cele mai utile caracteristici prin care puteți redirecționa cu ușurință vizitatorii către o altă locație automat.

Deși există numeroase tipuri de redirecționări pe care le puteți face, cele două cele mai importante și utilizate în mod obișnuit sunt redirecționarea permanentă (301) și redirecționarea temporară (302).

În această postare, vă vom arăta metode de redirecționare cu exemple precum, de la www la non-www, redirecționare Nginx către un domeniu, redirecționare Nginx de la HTTP la HTTPS etc.


Citiți: Cum funcționează URL-ul de redirecționare WordPress? 5 cele mai bune metode


Care este nevoie de redirecționare Nginx?

  • Nginx oferă una dintre caracteristicile cruciale și anume redirecționarea adreselor URL ale site-urilor web către o altă adresă pe baza unor criterii.
  • Redirecționările Nginx sunt foarte ușor de utilizat și ușor de configurat, datorită cărora este foarte flexibil să gestionezi adresele URL ale site-urilor web.
  • Este foarte util în păstrarea clasamentului SEO pentru o pagină, mai ales dacă migrați de la un CMS la altul.
  • Caracteristica de redirecționare ajută, de asemenea, la păstrarea poziției SERP în ciuda modificărilor în structura URL-ului.

Metode comune de redirecționare Nginx (temporar și permanent)

După cum am menționat deja, există mai multe tipuri de metode de redirecționare disponibile, dar în practică, există doar două utilizate în mod obișnuit, adică redirecționarea temporară și redirecționarea permanentă.

Redirecționare temporară (Cod de răspuns: 302 găsit)

  • Din numele în sine, puteți anticipa ce vor face medicamentele temporare. Ei bine, această metodă are scopul de a schimba temporar locația unei pagini dintr-un loc în altul.
  • Codul de răspuns: 302 Found este folosit pentru a afișa redirecționarea temporară a unei pagini în timpul acestor redirecționări.
  • Este folosit mai ales în timpul întreținerii site-ului web; redirecționarea temporară informează traficul sau utilizatorii despre indisponibilitatea temporară a site-ului.
  • Poate fi folosit și pentru a redirecționa o pagină incompletă către alt punct sau pagină de pornire.
  • Exemplu de scenariu: Vizitatorul navighează la Pagina de site, dar din cauza întreținerii, este redirecționat către o notificare care indică faptul că site-ul este în prezent în întreținere.
Temporary Redirection
Redirecționare temporară (Cod de răspuns: 302 găsit)

Redirecționare permanentă (Cod de răspuns: 301 găsit)

  • Redirecționarea permanentă Nginx este utilizată pentru a reloca permanent un domeniu de pagină.
  • O redirecționare 301 este folosită pentru a desemna mișcarea permanentă a unei pagini în acest context.
  • Această redirecționare este utilizată în principal atunci când un utilizator dorește să schimbe un nume de domeniu și nu mai dorește ca traficul site-ului web să acceseze vechea locație.
Permanent Redirection
Redirecționare permanentă (Cod de răspuns: 301 găsit)

Cum să redirecționați adresele URL folosind Nginx (temporar și permanent)

Înainte de a începe, mai întâi trebuie să vă asigurați că NGINX este instalat pe VPS sau pe serverul privat virtual. După aceea, accesați-vă VPS-ul prin SSH. La Wpoven, puteți accesa cu ușurință site-ul dvs. prin intermediul consolei de linie de comandă SSH.


Citiți: Pot accesa site-ul meu WPOven prin SSH


Configurarea NGINX

  • Locația fișierului de configurare NGINX: Configurația pentru NGINX este de obicei stocată într-un fișier .conf, care este un fișier text simplu care conține directive și setări pentru server.
  • Locație implicită: Locația implicită pentru fișierele de configurare NGINX se află adesea în directorul rădăcină al documentului al site-urilor dvs. În acest caz, menționează calea: /etc/nginx/sites-available/directory_name.conf .
  • Director rădăcină a documentului: acest director este locul în care sunt stocate fișierele site-ului dvs. web. Rădăcina documentului poate varia; pentru un server cu un singur site, ar putea fi în directorul /html . Dacă serverul dvs. găzduiește mai multe site-uri, rădăcina documentului ar putea fi într-un anumit director de domeniu, cum ar fi /domain.com .
  • Denumirea fișierului de configurare: Numele fișierului dvs. .conf corespunde site-ului dvs. De exemplu, dacă site-ul dvs. se află în directorul /html , fișierul .conf ar putea fi numit html.conf . Dacă se află într-un director precum /domain.com , atunci fișierul .conf ar putea fi numit domain.com.conf .
  • Fișier de configurare implicit: în /etc/nginx/sites-available/directory , există de obicei un fișier implicit pe care îl puteți utiliza ca șablon. Acest fișier poate conține configurații de bază pe care le puteți copia sau modifica pentru a se potrivi nevoilor dvs.
  • Crearea unui nou fișier de configurare: ca alternativă, aveți opțiunea de a crea un nou fișier .conf. De exemplu, puteți crea un fișier denumit html.conf sau domain.com.conf pe baza structurii site-ului dvs. și a convențiilor de denumire.

S-ar putea să fii surprins să afli că, în Nginx, există un instrument încorporat disponibil numit directivă „rescriere”. Este un instrument foarte la îndemână care face redirecționarea ușoară. Cea mai bună parte este că nu trebuie să faci nimic special, este prezent automat ori de câte ori instalezi un Nginx nou.

Această directivă de „rescriere” nu este menită doar pentru a face redirecționări de bază, dar este destul de versatilă. adică vei putea crea două tipuri de redirecționări, permanente și temporare.

Tot ce trebuie să faceți este să treceți doar două argumente, URL-ul vechi și URL-ul nou. Mai jos sunt câteva exemple pentru referință. Doar, introduceți următoarele rânduri în configurația serverului dvs.

Mai întâi, deschideți fișierul de configurare introducând următoarea comandă în terminal.

$ sudo vi /etc/nginx/nginx.conf

după aceea, utilizați următoarele comenzi de mai jos, conform cerințelor dvs.

1. Redirecționare Nginx de la pagină la pagină

Redirecționare temporară Nginx de la pagină la pagină

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

Redirecționare Nginx din pagină permanentă către pagină

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

Din comenzile de mai sus, ați observat că, dacă doriți să creați o redirecționare permanentă, tot ce trebuie să faceți este să înlocuiți „redirecționarea” cu „permanent” la sfârșitul directivei.

2. Redirecționare Nginx de la WWW către non-www

www permanent la redirecționarea non-www:

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


Notă : În cazul în care doriți să redirecționați de la non-www la www, trebuie doar să înlocuiți adresele URL ale site-ului web menționate în comanda de mai sus. adică Înlocuiți www.example.com cu example.com și invers.


3. Cum se redirecționează adresa URL de la HTTP la HTTPS în Nginx?

Înainte de a face această redirecționare, nu uitați să instalați certificatul SSL. Redirecționarea către HTTPS are beneficiile sale. Vă ajută să vă protejați site-ul web de toate atacurile MIMT, furtul de date etc. Și chiar și porturile lor sunt diferite, de exemplu, HTTP folosește 80 Port, în timp ce HTTPS folosește 443.

Deci, pentru a proteja toate schimburile de informații sensibile între dvs. și vizitatorul dvs., aveți nevoie de următoarele comenzi:

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

4. URL de redirecționare Nginx către o altă adresă URL

Dacă doriți să redirecționați permanent, adică redirecționarea nginx către o altă adresă URL 301, utilizați următoarea comandă:

La un domeniu nou dintr-un domeniu mai vechi,

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

SAU

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
}

  • Am configurat o redirecționare pentru site-ul nostru web folosind un instrument numit directiva „rescriere” în Nginx.
  • ^/(.*)$ este o expresie regulată care va folosi totul după ultima bară oblică ( / ) din URL.
  • De exemplu, dacă cineva încearcă să acceseze http://olddomain.com/index.html , va folosi partea index.html .
  • Deci, dacă mergeți la http://olddomain.com/index.html , vă va redirecționa fără probleme către http://newdomain.com/index.html .
  • Ideea este să redirecționați fără probleme utilizatorii către același conținut pe noul domeniu.
  • Pentru a ne asigura că această redirecționare este permanentă, am adăugat un cuvânt cheie special, „Permanent” după directiva rewrite .
  • Acest lucru le spune atât browserelor, cât și motoarelor de căutare că aceasta este o schimbare permanentă, folosind ceea ce se numește un cod de stare HTTP 301.

5. Nginx redirecționează către alt domeniu fără a schimba adresa URL

Să presupunem că doriți să redirecționați domeniul olddomain.com către newdomain.com fără a modifica adresa URL. Înseamnă că atunci când introduceți olddomain.com, acesta ar trebui să redirecționeze către newdomain.com, dar adresa URL ar trebui să afișeze în continuare olddomain.com.

Iată cum poți aborda,

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. Site specific Nginx Redirect

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


Verificați sintaxa Nginx

Pentru a verifica toate sintaxele nginx sunt corecte, utilizați următoarea comandă:

nginx -t

Dacă ieșirea se dovedește a fi goală, înseamnă că sintaxa este corectă și trebuie să reporniți serverul Nginx pentru a face aceste modificări eficiente.


Reporniți serverul Nginx

Nu uitați să reporniți serverul dvs. Nginx pentru a face aceste reguli eficiente utilizând comanda:

sudo systemctl restart Nginx


rezumat

După cum am menționat deja mai sus, Nginx s-a dovedit a fi cel mai puternic și mai ușor de utilizat server web care vă permite să faceți cu ușurință redirecționări permanente și temporare Nginx.

După ce ați citit acest blog, acum știți cum să creați adrese URL de redirecționare folosind NGINX. Fie că pentru a redirecționa nginx de la HTTP la HTTPS, de la un domeniu la altul etc.

De asemenea, ați învățat cum redirecționările vă afectează clasamentul SEO, așa că asigurați-vă întotdeauna că utilizați tipul de redirecționare corect.

Cu această caracteristică utilă, puteți schimba cu ușurință structura site-ului dvs. în funcție de tendințe și cerințe și vă puteți abține de la teama de trafic și pierderea clasamentului SERP.

WPOven oferă opțiuni de găzduire gestionate de WordPress pentru următorul tău proiect NGINX. Contactează-ne pentru a discuta cele mai bune opțiuni pentru tine.

Dacă aveți întrebări sau sugestii, vă rugăm să ne spuneți în secțiunea de comentarii de mai jos:


întrebări frecvente

Cum se redirecționează o adresă URL în nginx?

În Nginx, există un instrument încorporat disponibil numit directivă „rescriere”. Este un instrument foarte la îndemână care face redirecționarea ușoară. Cea mai bună parte este că nu trebuie să faci nimic special, este prezent automat ori de câte ori instalezi un Nginx nou.

Care este codul de redirecționare pentru Nginx?

Nginx este destul de versatil și vă oferă două tipuri de redirecționări, permanente al căror cod de răspuns este 301 și codul de răspuns de reducere temporară este 302.

Pentru ce se folosește NGINX?

Nginx este un server web versatil și de înaltă performanță și un server proxy invers. Este folosit în mod obișnuit în următoarele scopuri: server web , server proxy invers , echilibrare de încărcare , terminare SSL/TLS , caching , rețea de livrare de conținut (CDN) , gateway API , suport WebSocket , securitate și arhitectură de înaltă disponibilitate