
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 redirect
o permanent
a su línea de reescritura (documento nginx para reescribir).
Ojo con la permanent
variante (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 redirect
obligará 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.