Tento tutoriál ukazuje, jak nastavit Nginx k přesměrování subdomény non-www na "www" a naopak.
Předpoklady:
- Máte Linux a na něm běžící webserver Nginx.
- Máte doménu (například example.com), jejíž DNS A záznamy pro "@" a "www" směřují na IP adresu vašeho serveru, třeba VPS u Hukot.cz ;)
Nastavení přesměrování z "non-www" na "www"
Metoda 1: Z jedné domény
Přidejte další server do vašeho vhost nastavení. Mělo by to vypadat takto: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: Pro všechny domény
Vložte řádky vyobrazené níže v rámci http v souboru:nginx.conf(který se obvykle nachází v /etc/nginx v Ubuntu/Debian systems)server {
server_name "~^(?!www\.).*" ;
return 301 $scheme://www.$host$request_uri;
}Nastavení přesměrování z "www" na "non-www"
Metoda 1: Z jedné domény
Přidejte další server do vašeho vhost nastavení. Mělo by to vypadat takto: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: Pro všechny domény
Vložte řádky vyobrazené níže v rámci http v souboru:nginx.conf(který se obvykle nachází v /etc/nginx v Ubuntu/Debian systems)server {
server_name "~^www\.(.*)$" ;
return 301 $scheme://$1$request_uri ;
}