Как перенаправить mydomain.com
и любой поддомен *.mydomain.com
в www.adifferentdomain.com
с помощью NGINX?
Как перенаправить на другой домен с помощью NGINX?
Ответ 1
server_name поддерживает совпадения суффикса с использованием синтаксиса .mydomain.com:
server {
server_name .mydomain.com;
rewrite ^ http://www.adifferentdomain.com$request_uri? permanent;
}
или любой версии 0.9.1 или выше:
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
Ответ 2
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
http://wiki.nginx.org/HttpRewriteModule#return
и
Ответ 3
Это должно работать через HTTPRewriteModule.
Пример перезаписи с сайта www.example.com на example.com:
server {
server_name www.example.com;
rewrite ^ http://example.com$request_uri? permanent;
}
Ответ 4
Зачем использовать модуль перезаписи, если вы можете сделать return
? Технически говоря, return
является частью переписывающего модуля как который вы можете прочитать здесь, но этот фрагмент легче читать imho.
server {
server_name .domain.com;
return 302 $scheme://forwarded-domain.com;
}
Вы также можете перенаправить 301 переадресацию.
Ответ 5
Если вы хотите перенаправить запросы для "domain1.com" на "domain2.com", вы можете создать серверный блок, который выглядит следующим образом:
server {
listen 80;
server_name domain1.com;
return 301 $scheme://domain2.com$request_uri;
}