Como redirecionar com uma string de consulta no Nginx

2

Gostaria de redirecionar:

something.com/search?keywords='value'

para

something.com/search?q='value'

Aqui está minha configuração do Nginx:

location ~ /search {
       if ($args ~* "keywords=(.*)") {
            rewrite ^.*$ /search?q=$arg_keywords permanent;
        }
    }

Mas o parâmetro q está vazio no redirecionamento.

O que está errado?

    
por Ordidaad 04.09.2018 / 11:01

1 resposta

1

But the q parameter is empty on redirection.

Eu não vejo esse problema. Quando eu testo a configuração como escrita, ela cria um loop de redirecionamento porque o keywords='value' original é anexado ao URI reconfigurado.

Você pode impedir que rewrite inclua qualquer parâmetro original acrescentando ? ao URI reconfigurado.

Por exemplo:

rewrite ^ /search?q=$arg_keywords? permanent;

Veja este documento para detalhes.

    
por 04.09.2018 / 16:18