El navegador no tiene una URL reescrita con una cadena de consulta

El navegador no tiene una URL reescrita con una cadena de consulta

Cuando reescribo la URL agregando una cadena de consulta, la URL en el navegador no tiene la cadena de consulta. Esto es lo que tengo:

location / {
    rewrite ^/$ /?page=test break;
}

En cambio, veo la URL original en el navegador cuando visito el directorio raíz. Puedo reescribir a otro camino.

Respuesta1

Tal como está escrito, esto es solo una reescritura, que es (y debería ser) manejada internamente por el servidor web sin que el usuario se dé cuenta.

Puede hacer que este usuario sea visible de forma temporal o permanente agregando las declaraciones redirecto permanenta su línea de reescritura (documento nginx para reescribir).

Ojo con la permanentvariante (Código HTTP 301), el nombre es bastante literal y el navegador lo almacenará, por lo que es difícil cambiarlo después; esto solo debe usarse para migrar a un nuevo sistema.

Su uso redirectobligará al navegador a recargar el sitio con la nueva URL, por lo que esto también debe usarse con cuidado, ya que agregará un retraso significativo a los tiempos de carga de su página.

Respuesta2

Este problema está sucediendo debido aeste. reescribir con una cadena de consulta funciona.

información relacionada