Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
nginx:redirect-www [2019/09/26 16:02] – [Создание редиректа на домен с www] mirocow | nginx:redirect-www [2024/02/09 01:51] (текущий) – mirocow | ||
---|---|---|---|
Строка 24: | Строка 24: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ===== Nginx, 301 редирект с http на https протокол ===== | ||
+ | |||
+ | Если у вас на сайте есть SSL сертификат для домена, | ||
+ | |||
+ | <code nginx> | ||
+ | #... | ||
+ | if ($scheme = http) { | ||
+ | return 301 https:// | ||
+ | } | ||
+ | }</ | ||
+ | или | ||
+ | |||
+ | <code nginx> | ||
+ | #... | ||
+ | listen | ||
+ | server_name | ||
+ | rewrite ^ https:// | ||
+ | }</ | ||
+ | |||
+ | ===== Nginx, 301 редирект с https на http протокол ===== | ||
+ | |||
+ | Обратный пример конфигурации для редиректа с http на https: | ||
+ | |||
+ | <code nginx> | ||
+ | | ||
+ | | ||
+ | | ||
+ | }</ | ||
+ | |||
+ | <code nginx> | ||
+ | listen | ||
+ | server_name www.devreadwrite.com; | ||
+ | #... | ||
+ | }</ | ||
+ | |||
+ | ===== Nginx, 301 редирект с www на без www ===== | ||
+ | |||
+ | Пример 301-го редиректа на основное зеркало без www: | ||
+ | |||
+ | <code nginx> | ||
+ | #... | ||
+ | if ($host ~* www\.(.*)) { | ||
+ | set $host_without_www $1; | ||
+ | rewrite ^(.*)$ http:// | ||
+ | } | ||
+ | }</ | ||
+ | |||
+ | или | ||
+ | |||
+ | <code nginx> | ||
+ | #... | ||
+ | server_name www.devreadwrite.com; | ||
+ | rewrite ^/(.*)$ http:// | ||
+ | }</ | ||
+ | |||
+ | ===== Nginx, 301 редирект с без www на с www ===== | ||
+ | |||
+ | Обратный пример 301-го редиректа на основное зеркало сайта с www: | ||
+ | |||
+ | <code nginx> | ||
+ | #... | ||
+ | server_name devreadwrite.com; | ||
+ | rewrite ^/(.*)$ http:// | ||
+ | }</ | ||
+ | |||
+ | <code nginx> | ||
+ | listen | ||
+ | server_name www.devreadvrite.com; | ||
+ | #... | ||
+ | }</ | ||
+ | |||
+ | ===== Nginx, 301 редирект для одной страницы ===== | ||
+ | |||
+ | Если у страницы поменялся URL, то лучше сделать 301 редирект на новый URL: | ||
+ | |||
+ | <code nginx> | ||
+ | #... | ||
+ | if ( $request_filename ~ oldpage/ ) { | ||
+ | rewrite ^ http:// | ||
+ | } | ||
+ | #... | ||
+ | }</ | ||
+ | |||
+ | ===== Nginx, 301 редирект для папки ===== | ||
+ | |||
+ | Аналогичный пример 301-го редиректа для папки: | ||
+ | |||
+ | <code nginx> | ||
+ | #... | ||
+ | if ( $request_filename ~ oldfolder/ | ||
+ | rewrite ^(.*) http:// | ||
+ | } | ||
+ | #... | ||
+ | }</ | ||
+ | |||
+ | ===== Nginx, 301 редирект с одного домена на другой ===== | ||
+ | |||
+ | Если вы сменили домен сайт и хотите перенести вес старого домена на новый, то можно сделать 301-й редирект со старого домена на новый: | ||
+ | |||
+ | <code nginx> | ||
+ | server_name domain.com www.devreadvrite.com; | ||
+ | rewrite ^ $scheme:// | ||
+ | }</ | ||
+ | |||
+ | ===== Nginx, 301 редирект с каждой страницы одного домена на такой же URL адрес другого домена ===== | ||
+ | |||
+ | Если вы планируете изменить свой домен или изменить название предприятия, | ||
+ | |||
+ | <code nginx> | ||
+ | server_name devreadvrite.com www.devreadvrite.com; | ||
+ | rewrite ^ $scheme:// | ||
+ | }</ | ||
+ | |||
+ | ===== Nginx, 301 редирект со страниц со слешем на страницы без слеша в конце URL ===== | ||
+ | |||
+ | Часто бывает так что одна и та же страница доступна по двум URL, например / | ||
+ | |||
+ | <code nginx> | ||
+ | #... | ||
+ | rewrite ^/(.*)/$ /$1 permanent; | ||
+ | #... | ||
+ | }</ | ||
+ | |||
+ | ===== Nginx, 301 редирект со страниц без слеша на страницы со слешем в конце URL ===== | ||
+ | |||
+ | Причина делать такой редирект та же, что и в ситуации описанным выше, за исключением того, что редирект необходимо делать со страницы без слеша в конце URL на страницу со слешем в конце URL: | ||
+ | |||
+ | <code nginx> | ||
+ | #... | ||
+ | rewrite ^(.*[^/])$ $1/ permanent; | ||
+ | #... | ||
+ | }</ |