我需要帮助重写 nginx 配置中的 URL,它应该如下工作:
/products/#details 到 /produce/#items
但它不起作用,因为#正在产生问题。
注意: URL中的#表示页面部分
例如www.test.com/products/#details应该被重定向到www.test.com/produce/#items
我需要帮助重写 nginx 配置中的 URL,它应该如下工作:
/products/#details 到 /produce/#items
但它不起作用,因为#正在产生问题。
注意: URL中的#表示页面部分
例如www.test.com/products/#details应该被重定向到www.test.com/produce/#items
没有办法进行这种重写。它之前的#
所有内容都不会发送到服务器,它完全由客户端处理。
使用 nginx 是不可能的,因为浏览器不会将主题标签 ( #details
) 发送到服务器。所以你不能在 nginx 或任何其他 web 服务器中重写。
换句话说,主题标签仅对浏览器可用,因此您必须使用 Javascript 处理它。服务器无法读取它。
https://www.rfc-editor.org/rfc/rfc2396#section-4
当使用 URI 引用对已识别资源执行检索操作时,可选的片段标识符(由交叉影线(“#”)字符与 URI 分隔)包含在检索后由用户代理解释的附加参考信息动作已成功完成。因此,它不是 URI 的一部分,但通常与 URI 结合使用。