Редиректы nginx
###Редирект с http на https
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
###Редирект с https на http
if ($scheme = https) {
return 301 http://$server_name$request_uri;
}
###Редирект с non-www на www
if ($host !~* ^www\.(.*)$) {
rewrite / http://www.$server_name$request_uri;
}
###Редирект с www на non-www
if ($host ~* ^www\.(.*)$) {
rewrite / http://$server_name$request_uri;
}
###Редирект одновременно с non-www на www и с http на https
if ($scheme = http) {
return 301 https://www.$server_name$request_uri;
}
if ($host !~* ^www\.(.*)$) {
rewrite / https://www.$server_name$request_uri;
}
###Редирект 301 со страницы old-page на new-page (с сохранением параметров) (+из подпапок)
location /old-page/ {
return 301 /new-page/$is_args$args;
}
###Редирект 301 с index.php в корень
if ($request_uri = /index.php) {
rewrite ^ http://$host? permanent;#301 redirect
}
###Редирект 301 с ../page.html на ../page/ по всему сайту
if ($request_filename ~* ^(.*).html$) {
rewrite ^/(.*).html /$1/ permanent;
}
###Редирект 301 c папки на под папку, пример - Было: http://tnkspb.ru/bionord-podyomy/ Нужно: http://tnkspb.ru/bionord-podyomy/bionord-podemy/
rewrite ^(/bionord-podyomy/)$ http://$host/bionord-podyomy/bionord-podemy/ permanent;
###Редирект 301 c папки на под папку с сохранением путей подпапок, пример -
location /catalog/ {
rewrite ^/catalog/(.+)$ /c/$1 permanent;
}
###Редирект со всего сайта на другой
return 301 http://www.adifferentdomain.com$request_uri;