Deaktivieren der Zwischenspeicherung von eine einzige Datei mit try_files Richtlinie
Ich bin servieren Eckig 2-Anwendung mit nginx verwenden Sie im Abschnitt Speicherort auf diese Weise:
location /{
try_files $uri $uri//index.html =404;
}
try_files Richtlinie versucht, die angeforderten uri in das root-Verzeichnis und wenn Sie nicht finden, es gibt einfach index.html
Gewusst wie: deaktivieren der Zwischenspeicherung von index.html Datei?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand die Lösung mit nginx benannten Standorte:
Danke für eine tolle Antwort, Rem! Als Er Shiming Punkte mit der akzeptierten Lösung der caching-Header nicht Hinzugefügt, wenn in der root z.B. http://www.example.com/, aber nicht Hinzugefügt, wenn Sie den Besuch einer deep-link, z.B. http://www.example.com/some/path.
Nach viel Graben, ich glaube, das ist, weil das Standard-Verhalten des ngnix Modul ngx_http_index_module, es umfasst index.html standardmäßig so, wenn in der Wurzel /, die erste Position blockiert ist, Regeln sind zufrieden, index.html bekommt serviert, ohne die cache-control-Header. Die Problemumgehung, die ich verwendet wurde, um ein index-Richtlinie ohne Angabe index.html in der ersten location-block, das zwingen die Wurzel /, um bedient zu werden von der zweiten Position zu blockieren.
Hatte ich auch ein anderes problem, ich habe einen root-Direktive in der ersten Lage zu blockieren, die brach deep-links und ist auch ein schlechte Idee. Ich zog die root-Direktive auf server-Ebene.
Hoffe, dies hilft, dies ist meine Lösung...
Ich habe debug-Header zu helfen, machen es absolut klar, welche Position block wird dazu dienen, welche Inhalte. Es ist auch erwähnenswert, das unintuitive Verhalten der add_header Richtlinie, eine unverzichtbare Lektüre, wenn Sie auch die Absicht, um überschriften für alle Anfragen außerhalb von einem Ort zu blockieren.
Habe ich die folgenden setup-arbeiten für meinen Eckigen apps, beinhaltet änderungen index.html und der nginx-Konfiguration:
index.html
nginx.conf
Funktioniert sowohl, wenn der Benutzer navigiert zu "site.com" und "site.com/some/url" oder "site.com/#/login".
Die "index.html" änderungen sind auf der sicheren Seite vor allem.
Können Sie content-type mapping (sollte den job tun, für SPA mit einem
.html
- Datei):Nur um sicher zu sein 🙂