Eu 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 q
parâmetro está vazio no redirecionamento.
O que está errado?
Responder1
Mas o parâmetro q está vazio no redirecionamento.
Eu não vejo esse problema. Quando testo a configuração conforme escrita, ele cria um loop de redirecionamento porque o original keywords='value'
é anexado ao URI reescrito.
Você pode evitar rewrite
a inclusão de quaisquer parâmetros originais anexando um ?
ao URI reescrito.
Por exemplo:
rewrite ^ /search?q=$arg_keywords? permanent;
Veresse documentopara detalhes.