[javascript] nginx: envíe todas las solicitudes a una sola página html


Answers

Su reescritura original casi debería funcionar. No estoy seguro de por qué redirigiría, pero creo que lo que realmente quieres es solo

rewrite ^ /base.html break;

Debería poder poner eso en una ubicación o directamente en el servidor.

Question

Usando nginx, quiero preservar la url, pero en realidad cargo la misma página pase lo que pase. Utilizaré la url con History.getState() para enrutar las solicitudes en mi aplicación de JavaScript. Parece que debería ser algo simple de hacer?

location / {
    rewrite (.*) base.html break;
}

funciona, pero redirige la url? Todavía necesito la url, solo quiero usar siempre la misma página.




La forma correcta sería:

location / {
    rewrite (.*) base.html last;
}

El uso de last hará que nginx encuentre un nuevo bloque de location adecuado de acuerdo con el resultado de la reescritura.

try_files es también un enfoque perfectamente válido para este problema.




Links