如何使用 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 从任何地方提供文件,但实际上不让客户端知道提供哪个文件,在我的情况下,这不是浏览器的事。

有办法实现这个吗?

相关内容