Вы настроили свой сервер и перенесли на него сайт. Пришло время склеить зеркала сайта и избавиться от дублей страниц.
1. Редирект с http на https
В секции server прописываем:
-
server {
listen 80;
server_name example.com *.example.com;
return 301 https://$host$request_uri;
}Использование вместо
$host
имени домена или$server_name
в случае отсутствия поддоменов так же считаются правильными. 2. Редирект с www зеркала сайта на без www
-
if ($host ~* www\.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ https://$host_without_www$1 permanent;
} 3. Редирект на слэш
-
rewrite ^([^.\?]*[^/])$ $1/ permanent;
Актуально, если страницы имеют структуру без расширений, например
https://example.com/page
. 4. Убираем дублирующиеся слэши
-
if ($request_uri ~* "\/\/") {
rewrite ^/(.*) $scheme://$host/$1 permanent;
}Пример:
https://example.com/page//
➟https://example.com/page/
. 5. Редирект с index.php
-
if ($request_uri ~* "^(.*/)index\.php$") {
return 301 $1;
}
В конце не забываем выполнить service nginx reload
или перезапустить nginx - service nginx restart
.
Проверить, работает ли перенаправление можно инструментом «Заголовки сервера».