0

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

/products/#details 到 /produce/#items

但它不起作用,因为#正在产生问题。

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

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

4

2 回答 2

0

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

于 2018-09-17T09:03:09.590 回答
0

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

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

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

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

于 2018-09-17T08:32:02.327 回答