nginx 301 redirect www to non-www

Потребовалось сделать редирект сайта со всеми поддоменами с адреса www.site.ru на site.ru. При этом к сайту привязано порядка 50 доменов 3его уровня. Есть доступ по http и по https, соответственно, нужен 301 редирект с сохранением изначального протокола. Чтобы не писать редирект для каждого отдельного домена, попробуем сделать все одним правилом для nginx. У меня получилось такое рабочее решение. В секций server в настройках хоста добавляем:
# www to no-www 301 redirect http(s)
    if ($host ~* www\.(.*)) {
    set $host_without_www $1;
    rewrite ^(.*)$ $scheme://$host_without_www$1 permanent;
    }

Комментариев нет:

Отправить комментарий