Настройка перенаправлений (Nginx)
В данной статье представлены примеры стандартных перенаправлений для сервера Nginx.
Чтобы настроить перенаправления, необходимо добавить соответствующие директивы в файл конфигурации nginx.conf. Если у вас используются виртуальные хосты, вы можете добавить эти директивы в конфигурационный файл соответствующего виртуального хоста. Для создания перенаправления, директивы должны быть добавлены в блок server в файле конфигурации.
Перенаправление на другой домен
В следующем примере выполняется перенаправление на www.new-domain.ru:
server { 
   #...
      rewrite ^ $scheme://www.new-domain.ru; 
   #... 
}Перенаправление c http на https
server { 
   #... 
      if ($scheme = http){ 
         return 301 https://$server_name$request_uri;  
} 
   #... 
}Перенаправление с https на http
server { 
   #... 
      server_name  
         example.ru www.example.ru; 
         return 301 http://$server_name$request_uri; 
   #... 
}Перенаправление домена без www на домен с www
server { 
   #... 
      if ($host ~* ^[^.]+\.[^.]+$) { 
         rewrite ^(.*)$ $scheme://www.$host$1 permanent; 
} 
   #... 
}Перенаправление домена с www на домен без www
server { 
   #... 
      if ($host ~* www\.(.*)){ 
         set $host_without_www $1; 
         rewrite ^(.*)$ http://$host_without_www$1 permanent;  
} 
   #... 
}Перенаправление для одной страницы
server 
{ 
   #... 
      if ( $request_filename ~ example_old.html/ ) { 
         rewrite ^ example_new.html permanent;
} 
   #... 
}Перенаправление на страницу со слэшем в конце
server { 
   #... 
      rewrite ^(.*[^/])$ $1/ permanent; 
   #... 
}Перенаправление на страницу без слэша в конце
server { 
   #... 
      rewrite ^/(.*)/$ /$1 permanent; 
   #... 
} 
	