Вы настроили свой сервер и перенесли на него сайт. Пришло время склеить зеркала сайта и избавиться от дублей страниц.
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;
}
В конце не забываем перечитать файл конфигурации systemctl reload nginx
или перезапустить NGINX - systemctl restart nginx
.
Проверить, работает ли перенаправление можно с помощью инструмента проверки заголовков сервера.