nginx 返回固定页面(单页应用)

发布于 2022-09-06 05:54:49 字数 569 浏览 21 评论 0

最近使用单页应用,返回index.html 遇到了问题:

需求是这样的:有一个请求:/oper/,不管是/oper/A,/oper/B,/oper/A/B等等,我都想只返回同一个index.html

目前使用try_files能实现,但是他会强制改变请求路径(重定向);

我希望它能保证原始的请求路径不变,如:请求/oper/B之后不会重定向但是还是返回index.html.

谢谢!

补充:我的nginx版本为: 1.12.2
clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

原来分手还会想你 2022-09-13 05:54:49

try_files是可以的,不会响应30x跳转

location /oper/ {
    try_files $uri /index.html;
}

也可以用rewrite

location /oper/ {
    rewrite /oper/ /index.html last;
}

对比下两者的优缺点:
try_files可以兼顾文件存在的情况,不过会多一些磁盘操作
rewrite无磁盘操作,不过无法兼顾文件存在的情况

如果是单纯的需要将/oper/开头的所有请求返回/index.html,建议使用rewrite

电影里的梦 2022-09-13 05:54:49
location / {
            rewrite /oper/ /index.html break;
            root   html;
            index  index.html index.htm;
        }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文