forçando o nginx a redirecionar para a raiz do servidor

forçando o nginx a redirecionar para a raiz do servidor

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=bare idontexist.html?foo=bardeixa 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=barredirecionaria 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;

informação relacionada