Nginx重写URL规则,页面部分具有特殊字符(#)

时间:2018-09-17 08:26:48

标签: nginx nginx-reverse-proxy nginx-config

在nginx配置中重写URL时,我需要帮助,该URL的工作方式如下:

/ products /#details / produce /#items

但是它不能正常工作,因为正在产生问题。

注意:URL中的表示页面部分

例如 www.test.com/products/#details 应该重定向到 www.test.com/produce/#items

2 个答案:

答案 0 :(得分:0)

使用nginx 是不可能的,因为浏览器不会将标签(#details)发送到服务器。因此,您无法在Nginx或任何其他Web服务器中进行重写。

换句话说,标签仅对浏览器可用,因此您必须使用Javascript处理它。服务器无法读取它。

http://tools.ietf.org/html/rfc2396#section-4

  

当使用URI引用对标识的资源执行检索操作时,可选的片段标识符(由叉号(“#”)字符与URI分开)由用户代理解释的其他参考信息组成成功完成检索操作后。因此,它不是URI的一部分,但通常与URI结合使用。

答案 1 :(得分:0)

没有办法重写。 #及其之前的所有内容都不会发送到服务器,它是在客户端完全处理的。