
Aqui está meu requisito para redirecionar no Nginx -
Redirect Example
1. www.example.com/gaming.html -> www.example.com/gaming-zone.html
No Redirect example (when params are present, dont redirect)
2. www.example.com/gaming.html?name=foo -> www.example.com/gaming.html?name=foo
Eu tenho uma configuração de redirecionamento muito simples -
rewrite ^/gaming.html$ /gaming-zone.html redirect;
que satisfaz o exemplo 1, mas também redireciona o exemplo 2. Alguém pode compartilhar como corrigir a regra para que URLs contendo parâmetros não sejam redirecionados?
Responder1
Não parece que você tentou pelo menos tentar obter informações....
De acordo com o módulo principal http nginxdocumentação. Você pode usar $is_args ou $args ou $arg_name.
Portanto, você pode simplesmente usar a seguinte linha:
if($is_args = ""){
rewrite ^/gaming.html$ /gaming-zone.html redirect;
}
Como você deseja que o segundo URL não mude, não há necessidade de fazer nada com esse URL.