nginx + apache, редирект с несуществующего поддомена на конкретный поддомен
Работает nginx + apache. Один поддомен был ликвидирован и его статьи переехали на те же адреса, но нового поддомена.
В .conf старого поддомена я прописал следующие настройки, они работают нормально.
server
{
listen 80;
root /var/www/old.site.ru;
server_name old.site.ru www.old.site.ru;
return 301 https://new.site.ru$request_uri;
}
server
{
listen 443;
ssl on;
ssl_certificate /etc/ssl/wildcard.crt;
ssl_certificate_key /etc/ssl/wildcard.key;
server_name old.site.ru www.old.site.ru;
return 301 https://new.site.ru$request_uri;
}
Сейчас планируется упразднить еще несколько поддоменов с переносом их статей на новые, в связи с чем возникла идея удалить ненужные поддомены, чтобы просто ради редиректа не складировать старье - пусть где то в общем конфиге будет редирект с конкретных (но уже несуществующих) поддоменов на конкретные новые. А вот это у меня не получилось.
Я полез в nginx.conf - что то никак не заводится.
Что мне необходимо предпринять? Спасибо!
Ответы (1 шт):
- Добавьте в ваш конфиг маппинг старых и новых доменов:
map $host $new_host {
hostnames;
old.site.ru new.site.ru;
site2.ru new2.site.ru
...
}
В блоке server перечисляйте все свои старые домены (поддомены) в директиве server_name.
В директиве return используйте переменную $new_host:
return 301 https://$new_host$request_uri;
- Обратите внимание на SSL сертификат. Либо на все перечисленные домены должны быть один сертификат, либо имена файлов ключей и сертификатов нужно увязать с переменной $host.