Подстановочный знак www на без www перенаправление nginx

Подстановочный знак www на без www перенаправление nginx

Я хотел бы перенаправить весь трафик с

www.*.*.<gTLD> к *.*.<gTLD>

Если возможно, я бы хотел сделать это вне блока, обслуживающего приложение. Этот блок не использует a, server_nameпотому что он прослушивает более 5000 имен хостов в одном приложении.

У вас есть идея, как этого добиться? Все примеры, которые я нашел, предназначены только для именованных хостов...

Спасибо

решение1

Вы можете определить serverблок с помощью регулярного выражения server_name. Например:

server {
    server_name ~^(www\.)(?<domain>.+)$;
    return 301 $scheme://$domain;
}

Видетьэтот документдля большего.

решение2

С помощью @Richard Smith я добился следующих результатов:

server {
    server_name ~^(www\.)(?<domain>.+\..+\..+)$;
    return 301 $scheme://$domain;
}

Это работает хорошо :-)

Связанный контент