Nginx redireciona todas as solicitações tentando acessar uma pasta

0

Como posso redirecionar todas as solicitações tentando acessar uma pasta?

por exemplo, gostaria de redirecionar:

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

para

somedomain2.com/index.html

o que eu tentei:

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

1 resposta

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
    }
}

Isso emitirá um redirecionamento permanente para qualquer solicitação / folder / *.

Tomei a liberdade de imitar o esquema que está sendo usado com somedomain para o somedomain2 com o $scheme .

Eu não forcei o /index.html URI no redirecionamento. Você pode querer fazer isso. Também confiei no valor padrão da diretiva index , que talvez não seja adequada para você.

Se você quisesse manipular o conteúdo do outro servidor de forma transparente, você poderia usar proxy_pass para enviar o pedido para ele.

    
por 05.11.2014 / 14:09

Tags