关于Nginx location地址中包含#的处理?
2.0版本上线 修改了页面地址 为了兼容老的地址 想通过Nginx来代理老的地址
# 代理老的页面到新页面
location /data/#/stock/101017958/details {
proxy_pass https://foo.bar.com/m/stock/details/101017958;
}
但是Nginx配置并未生效 当访问老的地址的时候 还是老的页面 并没有访问新页面 是什么原因呢 是因为location中包含了#号了吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
#
在配置文件里是注释的开始, 你的nginx配置文件不可能是有效有。用nginx -t
检查一下。另外,
#
也不应是url的一部分,#
后面是页面里的锚点,前端把这个处理成请示的参数,但后端很少有这么用的。url里,
#
和它后面的东西并不会发给服务器,也就无法做处理#只用于浏览器,请求的时候,#及后面的内容不会发送给服务器
补充:
参考文档: https://juejin.im/post/5be247c2e51d457b1756b8a4
#
符号的url就是一个 Fragment URL。#
指定了网页中的一个位置#
仅仅作用于浏览器,它不会影响服务器端。所以http请求中不会包括#
。