Nginx redirige todas las solicitudes que intentan llegar a una carpeta.

0

¿Cómo puedo redirigir todas las solicitudes tratando de llegar a una carpeta?

por ejemplo, me gustaría redireccionar:

somedomain.com/folder/subfolder/index.html
somedomain.com/folder/subfolder2/something.html
somedomain.com/folder/subfolder3/somethingelse.html

a

somedomain2.com/index.html

lo que he intentado

if ( $request_uri = "/folder/.*" ) {
  rewrite ^/(.*)$  http://domain2.com/embed.html    permanent;
}
Orlo
fuente

Respuestas:

2
server {
    server_name somedomain.com;

    location /folder/ {
        return 301 $scheme://somedomain2.com;
    }
}

server {
    server_name somedomain2.com;

    location / {
        #index index.html; # You could wish to add that, if index default value does not suits your needs
    }
}

Eso emitirá una redirección permanente para cualquier solicitud / folder / *.

Me tomé la libertad de imitar el esquema que se utiliza con somedomain para somedomain2 con el $scheme variable.

No he forzado la /index.html URI en la redirección. Puede que desee hacerlo. También me basé en el valor predeterminado de la index directiva, que tal vez no es adecuado para usted.

Si desea manejar el contenido del otro servidor de forma transparente, puede utilizar proxy_pass para la solicitud de la proxy.

Bernard Rosset
fuente