Uma maneira ideal de nginx reescrever a construção de regras para URL bonita

0

As páginas da web são acessadas da seguinte maneira:

example.com/?site=website 

Neste exemplo, estou acessando o site localizado em example.com domain .

Alguém poderia sugerir uma maneira ideal de reescrever regras, de modo que o acima seria mostrado e acessado por example.com/website ?

nginx, Centos 7
    
por Tarlan Mammadzada 02.08.2017 / 17:49

2 respostas

1

Você pode usar o seguinte, lembrando que IfIsEvil

location = / {
  if ($arg_site) {
    return 302 /$arg_site;
  }
}
    
por 23.08.2017 / 18:48
0

Relacionados:

A idéia é que você crie um loop de redirecionamento, mas não realmente, já que há uma diferença entre redirecionamentos internos e internos, portanto, o loop não é fechado, porque um redirecionamento é explicitamente somente externo, enquanto o outro é explicitamente apenas interno:

location = / {
    if ($arg_site) {
        return  302 /$arg_site;
    }
    return  200
    "<!DOCTYPE html><title>site</title>
    <form><input name='site' value='website'/></form>\n";
}
location / {
    rewrite     ^/([^/]*)\$     /?site=$1   break;
    proxy_pass  http://javabackend:8080;
}
    
por 28.08.2017 / 04:24