167 votes

nginx: envoie toutes les requêtes à une seule page html

En utilisant nginx, je souhaite conserver l’URL, mais charge en fait la même page, quoi qu’il en soit. Je vais utiliser l'URL avec History.getState() pour router les demandes dans mon application javascript. Il semble que cela devrait être une chose simple à faire?

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

fonctionne, mais redirige l'URL? J'ai toujours besoin de l'URL, je veux juste utiliser toujours la même page.

209voto

Alex Howansky Points 16820

Je pense que cela va le faire pour vous:

 location / {
    try_files $uri /base.html;
}
 

19voto

kolbyjack Points 4721

Votre réécriture originale devrait presque fonctionner. Je ne sais pas pourquoi cela redirigerait, mais je pense que ce que vous voulez vraiment, c'est juste

 rewrite ^ /base.html break;
 

Vous devriez pouvoir mettre cela dans un emplacement ou directement sur le serveur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X