Что нужно знать:
Я использую Vultr.com (аналог DigitalOcean) в качестве VPS и запускаю 1 сервер с Nginx и Ubuntu 18.10 x64.
У меня есть 2 домена, с которыми я работаю:
https://(www).oldsite.org
https://(www).newsite.org
- (www) = с префиксом www и без него
- Оба домена имеют сертификаты SSL
Моя проблема:
В настоящее время https://(www)oldsite.org
отражает мои https://newsite.org
Если я удаляю https://
и перехожу только на (www)oldsite.org
, он перенаправляется на https://newsite.org
без проблем.
Только когда я добавляю https://
, происходит зеркалирование.
Мой вопрос:
Как исправить скрипт, доступный на моих сайтах, для перенаправления oldsite
на newsite
?
Мне нужно следующее, чтобы перенаправить так:
Мой сценарий:
server {
root /var/www/newsite/public;
server_name newsite.org www.newsite.org oldsite.org www.oldsite.org;
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/newsite.org-0001/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/newsite.org-0001/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.newsite.org) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = newsite.org) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = oldsite.org) {
rewrite ^ https://newsite.org$request_uri? permanent;
} # managed by Certbot
if ($host = www.oldsite.org) {
rewrite ^ https://newsite.org$request_uri? permanent;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name newsite.org www.newsite.org oldsite.org www.oldsite.org;
return 404; # managed by Certbot
}
Вместо этого:
if ($host = oldsite.org) {
rewrite ^ https://newsite.org$request_uri? permanent;
} # managed by Certbot
if ($host = www.oldsite.org) {
rewrite ^ https://newsite.org$request_uri? permanent;
} # managed by Certbot
Есть ли Wildcard
метод, который я могу использовать, подобный этому:
//NOTE THE * before oldsite.org
if ($host = *oldsite.org) {
rewrite ^ https://newsite.org$request_uri? permanent;
} # managed by Certbot
Было бы идеально, если бы у меня был какой-нибудь префикс, который кто-то мог бы ввести перенаправить на https://newsite.org
Хотелось бы охватить все базы и иметь каждый вариант этих oldsite
перенаправления URL.
Спасибо!