¿Cómo redirigir a un dominio diferente usando NGINX?

¿Cómo puedo redireccionar mydomain.com y cualquier subdominio *.mydomain.com a www.adifferentdomain.com usando NGINX?

nombre_servidor admite coincidencias de sufijo usando la syntax de .mydomain.com:

 server { server_name .mydomain.com; rewrite ^ http://www.adifferentdomain.com$request_uri? permanent; } 

o en cualquier versión 0.9.1 o superior:

 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

y

http://wiki.nginx.org/Pitfalls#Taxing_Rewrites

Eso debería funcionar a través de HTTPRewriteModule .

Ejemplo de reescritura de http://www.example.com a ejemplo.com:

 server { server_name www.example.com; rewrite ^ http://example.com$request_uri? permanent; } 

¿Por qué utilizar el módulo de reescritura si puede return ? Técnicamente hablando, el return es parte del módulo de reescritura como puede leer aquí, pero este fragmento es más fácil de leer.

 server { server_name .domain.com; return 302 $scheme://forwarded-domain.com; } 

También puede darle una redirección 301.

Si desea redirigir las solicitudes de “dominio1.com” a “dominio2.com”, puede crear un bloque de servidor que se vea así:

 server { listen 80; server_name domain1.com; return 301 $scheme://domain2.com$request_uri; }