konratnox
4/4/2017 - 1:17 PM

Редиректы nginx

Редиректы 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;