如何在不更改客戶端瀏覽器位置的情況下使用 NGINX try_files?

如何在不更改客戶端瀏覽器位置的情況下使用 NGINX try_files?

我正在使用 nginxtry_files進行伺服器端渲染。由於 GET 參數會影響產生的 html,因此我想使用 try_files 來檢查是否有帶有匹配查詢字串的預渲染版本(檔案保存在 /posts/?page=5/index.html)

我有以下 try_files 語句:

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

這是可行的,但是客戶端被重定向到www.page.com/posts/?page=5其中包含我所擁有的子目錄的斜杠。這會導致瀏覽器最終收到 404 錯誤,因為該貼文不存在。

我如何像我一樣使用 try_files ,但不實際重定向客戶端?需要明確的是:我想使用 try_files 從任何地方提供文件,但實際上並沒有讓客戶知道提供了哪個文件,在我的情況下,這與瀏覽器無關。

有辦法實現這一點嗎?

相關內容