Редирект на главную страницу с "несуществующих" поддоменов
К сайту привязано несколько доменов.
Есть список допустимых поддоменов - sub1, sub2, sub3.
Необходимо на уровне nginx возвращать 301-ый редирект на главную страницу основного домена (c указанием протокола https), если пользователем запрошена страница с поддоменом не из списка выше, но при этом основной домен явно не прописывать в конфиге.
Примеры:
fdsf.domenmy.ru 301-> https://domenmy.ru
sdfsd.site.ru/page1 301-> https://site.ru
bbskd.domen.ru/page2 301-> https://domen.ru
sub1.mysite.ru/page3 - 200. тут редирект не нужен
mydomen2.ru/page4 - 200. тут редирект не нужен
Ответы (1 шт):
Автор решения: Aleksey Vaganov
→ Ссылка
Если предполагается, что основной домен может быть только 2-го уровня, то в блок http добавьте маппинг:
map $host $redirect {
"~^sub[1-3]\." "";
"~([^.]+\.[^.]+)$" "$1";
default "";
}
В блок server добавьте условие:
if ($redirect) {
return 301 https://$redirect;
}
Таким образом я нигде явно не указал основной домен.