Quando reescrevo a URL adicionando uma string de consulta, a URL no navegador não tem a string de consulta. Aqui está o que eu tenho:
location / {
rewrite ^/$ /?page=test break;
}
Em vez disso, vejo a URL original no navegador quando visito o diretório raiz. Eu sou capaz de reescrever para outro caminho.
Conforme escrito, esta é apenas uma reescrita, que é (e deve ser) tratada internamente pelo servidor web sem que o usuário esteja ciente disso.
Você pode tornar este usuário visível temporariamente ou permanentemente adicionando as instruções
redirect
oupermanent
à sua linha de reescrita ( nginx doc for rewrite ).Tenha cuidado com a
permanent
variante ( HTTP Code 301 ), o nome é bastante literal e o navegador irá armazenar isso, então é difícil mudar isso depois - isso só deve ser usado para migrar para um novo sistema.O uso
redirect
forçará o navegador a recarregar o site com o novo URL, portanto, isso também deve ser usado com cuidado, pois adicionará um atraso significativo aos tempos de carregamento da página.Esse problema está acontecendo por causa disso . reescrever com uma string de consulta funciona.