关于Nginx location地址中包含#的处理?

发布于 2022-09-12 00:11:10 字数 270 浏览 11 评论 0

2.0版本上线 修改了页面地址 为了兼容老的地址 想通过Nginx来代理老的地址

# 代理老的页面到新页面
location /data/#/stock/101017958/details {
    proxy_pass https://foo.bar.com/m/stock/details/101017958;
 }

但是Nginx配置并未生效 当访问老的地址的时候 还是老的页面 并没有访问新页面 是什么原因呢 是因为location中包含了#号了吗?

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

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

发布评论

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

评论(4

飞烟轻若梦 2022-09-19 00:11:10

#在配置文件里是注释的开始, 你的nginx配置文件不可能是有效有。用nginx -t检查一下。
另外,#也不应是url的一部分, #后面是页面里的锚点,前端把这个处理成请示的参数,但后端很少有这么用的。

戴着白色围巾的女孩 2022-09-19 00:11:10

url里,#和它后面的东西并不会发给服务器,也就无法做处理

薄暮涼年 2022-09-19 00:11:10

#只用于浏览器,请求的时候,#及后面的内容不会发送给服务器

墨离汐 2022-09-19 00:11:10

补充:
参考文档: https://juejin.im/post/5be247c2e51d457b1756b8a4

  1. 包含#符号的url就是一个 Fragment URL。#指定了网页中的一个位置
  2. #仅仅作用于浏览器,它不会影响服务器端。所以http请求中不会包括#
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文