
Eu tenho a seguinte linha no nginx:
try_files $uri $uri/ /index.html;
Pelo que entendi, ele reescreve todas as consultas em arquivos que não foram encontrados no index.html
. Ou seja, isso index.html?foo=bar
e idontexist.html?foo=bar
deixa o mesmo resultado que atrapalha o rastreamento do Google.
Como não reescrever, mas redirecionar para o URL padrão?
A solução perfeita seria mesmo sem o index.html
. Então http://domain.com/idontexist.html?foo=bar
redirecionaria usando 301 parahttp://domain.com/?foo=bar
Responder1
location / {
try_files $uri $uri/ @to_home;
...
}
location @to_home {
return 301 /$is_args$args;
}
Responder2
Resumi o trecho de código do VBart acima. Funciona como deveria:
try_files $uri $uri/ / =301;