【问题标题】:Nginx Rewrite URL Rule having special character(#) for Page section页面部分具有特殊字符(#)的 Nginx 重写 URL 规则
【发布时间】:2018-09-17 17:03:09
【问题描述】:

我需要帮助重写 nginx 配置中的 URL,它应该如下工作:

/products/#details 到 /produce/#items

但它不起作用,因为 # 正在制造问题。

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

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

【问题讨论】:

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


    【解决方案1】:

    使用 nginx 是不可能的,因为浏览器不会向服务器发送主题标签 (#details)。所以你不能在 nginx 或任何其他 web 服务器中重写。

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

    https://www.rfc-editor.org/rfc/rfc2396#section-4

    当使用 URI 引用对标识的资源执行检索操作时,可选的片段标识符(由交叉线(“#”)字符与 URI 分隔)包含要由用户代理解释的附加引用信息检索操作成功完成后。因此,它不是 URI 的一部分,但通常与 URI 结合使用。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2017-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-23
        • 2013-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多