¿Cómo puedo redirigir mydomain.com
y cualquier subdominio *.mydomain.com
para www.adifferentdomain.com
usar NGINX?
136
nombre_servidor admite coincidencias de sufijos utilizando la sintaxis .midominio.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;
}
listen
directiva por defecto es el puerto 80 cuando no se especifica. En realidad es un poco más complicado que eso en general; vea los documentos de configuración de nginx para más detalles.?
logra el final?rewrite
yreturn 301 $scheme://www.adifferentdomain.com$request_uri;
?$request_uri
ya tiene la cadena de consulta, no es necesario agregarla nuevamente. Lareturn 301
sintaxis es más nueva, y no debería haber diferencia en el comportamiento entre los dos métodos, pero cuando originalmente respondí esta pregunta, muchas distribuciones no tenían la versión requerida, así que elegí la sintaxis más segura.http://wiki.nginx.org/HttpRewriteModule#return
y
http://wiki.nginx.org/Pitfalls#Taxing_Rewrites
fuente
¿Por qué usar el módulo de reescritura si puedes hacerlo
return
? Técnicamente hablando,return
es parte del módulo de reescritura, ya que puede leer aquí, pero este fragmento es más fácil de leer en mi humilde opinión.También puedes darle una redirección 301.
fuente
return 302 $scheme://forwarded-domain.com$request_uri;
Eso debería funcionar a través de HTTPRewriteModule .
Ejemplo reescribir de www.example.com a example.com:
fuente
server_name example.com www.example.com;
.Si desea redirigir las solicitudes de "dominio1.com" a "dominio2.com", puede crear un bloque de servidor que tenga este aspecto:
fuente
listen 443;
Redireccionamiento temporal
Redireccionamiento permanente
En el archivo de configuración nginx para un sitio específico:
fuente
Simplemente puede escribir una condición if dentro del bloque del servidor {}:
fuente