Как перенаправить на другой домен с помощью NGINX?
как я могу перенаправить mydomain.com
и любой поддомен *.mydomain.com
to www.adifferentdomain.com
С помощью NGINX?
6 ответов:
сервер поддерживает суффикс матчи с использованием .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; }
server { server_name .mydomain.com; return 301 http://www.adifferentdomain.com$request_uri; }
http://wiki.nginx.org/HttpRewriteModule#return
и
Это должно работать через HTTPRewriteModule.
пример переписать из www.example.com к example.com:
server { server_name www.example.com; rewrite ^ http://example.com$request_uri? permanent; }
зачем использовать модуль перезаписи, если вы можете сделать
return
? Технически говоря,return
является частью модуля rewrite, как вы можете прочитать здесь но этот фрагмент легче читать имхо.server { server_name .domain.com; return 302 $scheme://forwarded-domain.com; }
вы также можете дать ему 301 редирект.
Если вы хотите перенаправить запросы на "domain1.com" to "domain2.com", вы можете создать серверный блок, который выглядит следующим образом:
server { listen 80; server_name domain1.com; return 301 $scheme://domain2.com$request_uri; }
временное перенаправление
rewrite ^ http://www.RedirectToThisDomain.com$request_uri? redirect;
постоянный редирект
rewrite ^ http://www.RedirectToThisDomain.com$request_uri? permanent;
в конфигурационном файле nginx для конкретного сайта:
server { server_name www.example.com; rewrite ^ http://www.RedictToThisDomain.com$request_uri? redirect; }