En utilisant nginx, je souhaite conserver l'URL, mais charger la même page quoi qu'il arrive. J'utiliserai l'url avec History.getState()
pour acheminer les requêtes 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.
javascript
nginx
history
prisme de tout
la source
la source
Réponses:
Je pense que cela le fera pour vous:
la source
try_files '' /base.html;
(chaîne vide comme premier argument detry_files
) évite la recherche d'un fichier appelé$uri
.try_files '' /base.html;
m'a donné un problème de redirection et une erreur de serveur interne, mais en le modifiant pour résoudre ce problèmetry_files '' /base.html =404;
, si cela aide quelqu'un.L'utilisation
try_files
ne fonctionnait tout simplement pas pour moi - cela provoquait une erreur de réécriture ou de cycle de redirection interne dans mes journaux.La documentation Nginx contenait quelques détails supplémentaires:
http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files
J'ai donc fini par utiliser ce qui suit:
la source
try_files '' /base.html =404;
(voir ci-dessus)location = /base.html { expires 30s }
pièce.Votre réécriture originale devrait presque fonctionner. Je ne sais pas pourquoi cela redirigerait, mais je pense que vous voulez vraiment
Vous devriez pouvoir le mettre dans un emplacement ou directement sur le serveur.
la source
Cela a fonctionné pour moi:
Cela m'a permis de créer une URL fourre-tout pour une application javascript d'une seule page. Tous les fichiers statiques tels que css, polices et javascript créés par
npm run build
seront trouvés s'ils se trouvent dans le même répertoire queindex.html
.Si les fichiers statiques se trouvaient dans un autre répertoire, pour une raison quelconque, vous auriez également besoin de quelque chose comme:
la source
Cela a fonctionné pour moi:
la source
La bonne façon serait:
L'utilisation
last
permettra à nginx de trouver un nouveaulocation
bloc approprié en fonction du résultat de la réécriture.try_files
est également une approche parfaitement valable de ce problème.la source