
Quando reescrevo o URL adicionando uma string de consulta, o URL no navegador não possui a string de consulta. Aqui está o que eu tenho:
location / {
rewrite ^/$ /?page=test break;
}
Em vez disso, vejo o URL original no navegador quando visito o diretório raiz. Sou capaz de reescrever para outro caminho.
Responder1
Conforme está 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 temporária ou permanentemente adicionando as instruções redirect
ou permanent
à sua linha de reescrita (documento nginx para reescrever).
Tenha cuidado com a permanent
variante (Código HTTP 301), o nome é bastante literal e o navegador irá armazená-lo, por isso é difícil alterá-lo posteriormente - 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 ao tempo de carregamento da página.
Responder2
Esse problema está acontecendo por causaesse. reescrever com uma string de consulta funciona.