Sto cercando di ottenere nginx
per lavorare con la mia URI di gestione pushState
gestita da backbone.js
per me in un'app JavaScript.Riscrivere nginx per pushState-URL
In questo momento l'accesso agli URI con un livello, ad es. example.com/users
funziona bene, ma non a due livelli o più in profondità URI, come example.com/users/all
, che è menzionato nella Backbone documentation:
Ad esempio, se si dispone di un percorso di/documenti/100, il server web must essere in grado di servire quella pagina, se il browser visita questo URL direttamente
Quindi, essendo lontano dal conoscere le opzioni di riscrittura di nginx, io sono ancora sicuro che posso fare qualcosa di simile rewrite^/index.html;
per reindirizzare tutto al mio index.html
, ma loosi ng su eventuali file statici (immagini, javascript & css) memorizzati sullo stesso server di cui ho bisogno per poter accedere.
Quindi cosa devo fare invece con la configurazione mostrata di seguito, per fare in modo che funzioni?
server {
listen 80;
server_name example.com;
location/{
root /var/www/example.com;
try_files $uri /index.html;
}
}
Il tuo primo suggerimento sembra richiedere una barra finale ... la riscrittura funziona quando vado a "/ ricerca /", ma non "/ search" – andrhamm
come lo risolveresti se non avessi la barra finale? –
Forse una regexp che accetta qualsiasi cosa tranne index.html? –