NGINX перенаправить на www в многодоменной среде

Как я могу перенаправить не-www на www в NGINX, если доменное имя не определено заранее? Все примеры, которые я нашел, показывают domain.com или example.com. Мне нужно перенаправить на любой домен. Есть указатели?

2 ответа

Решение

Это тот, который заставил меня идти:

/questions/34786625/nginx-perepisyivaet-domen-bez-prefiksa-www-v-domen-s-prefiksom-www/34786646#34786646

if ($host ~* ^[^.]+\.[^.]+$) {
    rewrite ^(.*)$ http://www.$host$1 permanent;
}

Вы можете указать сервер по умолчанию для перехвата доменов, которые не указаны в server_name директивы вашей конфигурации.

listen 80 default_server;

заставит этот сервер перехватывать несоответствующие доменные имена (при условии, что порт равен 80 на всех интерфейсах).

Это четкое объяснение такого поведения.

(не то, что до nginx 0.8.21 default (не default_server) должен быть указан).

Другие вопросы по тегам