Hace poco se dio el caso de que necesité tener bajo un mismo dominio 2 entornos: uno para el público en general y otro para que los programadores pudieran probar la nueva web sobre el mismo dominio.
La forma mas sencilla es tener las dos webs en dos rutas diferentes y asignar el root en función de una variable.
set $ruta_root "/ruta_de/midominio.com/httpdocs"; if ($remote_addr ~* "xx.xx.xx.xx|yy.yy.yy.yy") { set $ruta_root "/ruta_de/midominio.com/httpdocs_desarrollo"; } root $ruta_root; |
Esto mismo se puede hacer en otros muchos casos, por ejemplo si queremos que todas las visitas de un bot muestren otra web:
set $ruta_root "/ruta_de/midominio.com/httpdocs"; if ($http_user_agent ~ "Indy Library") { set $ruta_root "/ruta_de/midominio.com/httpdocs_desarrollo"; } root $ruta_root; |
O también mostrar otra web a los visitantes de un país o zona geográfica con el módulo de geopip.
set $ruta_root "/ruta_de/midominio.com/httpdocs"; if ($geoip_city_country_code = "RU") { set $ruta_root "/ruta_de/midominio.com/httpdocs_desarrollo"; } root $ruta_root; |