Wie kann ich NGINX try_files verwenden, ohne den Browserspeicherort für den Client zu ändern?

Wie kann ich NGINX try_files verwenden, ohne den Browserspeicherort für den Client zu ändern?

Ich verwende nginx try_filesfür Server-Side-Rendering. Da GET-Parameter das resultierende HTML beeinflussen, möchte ich try_files verwenden, um zu prüfen, ob ich eine vorgerenderte Version mit der passenden Abfragezeichenfolge habe (die Datei ist unter /posts/?page=5/index.html gespeichert).

Ich habe die folgende try_files-Anweisung eingerichtet:

try_files $uri/$is_args$args/ $uri $uri/ @ssr;

Dies funktioniert, aber der Client wird umgeleitet, www.page.com/posts/?page=5wobei der Schrägstrich des Unterverzeichnisses enthalten ist, das ich habe. Dies führt dazu, dass der Browser am Ende eine 404-Fehlermeldung erhält, weil dieser Beitrag nicht existiert.

Wie kann ich try_files wie ich verwenden, ohne den Client tatsächlich umzuleiten? Um es klar zu sagen: Ich möchte mit try_files Dateien von überall aus bereitstellen, aber den Client nicht wirklich wissen lassen, welche Datei bereitgestellt wird. Das geht den Browser in meinem Fall nichts an.

Gibt es eine Möglichkeit, dies zu erreichen?

verwandte Informationen