Introducere
Când vizitați https://vultr.com , veți observa că vă va transmite automat către subdomeniul său „www” http: // www .vultr.com . Această scriere vă arată cum să configurați Nginx pentru a redirecționa un sub-domeniu non-www către unul „www” și invers.
Pre-rechizite
- Aveți o instanță Vultr Linux care rulează Nginx.
- Aveți numele de domeniu (de exemplu, exemplu.com) ale cărui înregistrări DNS A pentru „@” și „www” indică IP-ul mașinii dvs. Vultr de mai sus.
Configurare pentru a redirecționa „non-www” către „www”
Metoda 1: Pentru un singur domeniu
Adăugați un bloc de server suplimentar la setarea vhost, astfel încât să arate similar cu mai jos:
server {
listen 80;
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
#other site settings go here (e.g. logs, site root)
}
Metoda 2: Pentru toate domeniile
Adăugați fragmentul de mai jos în directiva http din nginx.conffișierul dvs. (de obicei localizat /etc/nginxîn sistemele Ubuntu / Debian)
server {
server_name "~^(?!www\.).*" ;
return 301 $scheme://www.$host$request_uri;
}
Configurare pentru a redirecționa „www” către „non-www”
Metoda 1: Pentru un singur domeniu
Adăugați un bloc de server suplimentar la setarea vhost, astfel încât să arate similar cu mai jos:
server {
listen 80;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
server {
listen 80;
server_name example.com;
#other site settings go here (e.g. logs, site root)
}
Metoda 2: Pentru toate domeniile
Adăugați fragmentul de mai jos în directiva http din nginx.conffișierul dvs. (de obicei localizat /etc/nginxîn sistemele Ubuntu / Debian)
server {
server_name "~^www\.(.*)$" ;
return 301 $scheme://$1$request_uri ;
}
Scris de Lami Adabonyan