Apache 2.4 反向代理,像 /call/#/whatever/method 这样的 url 总是作为 /call/ 向上游传递,这会破坏显然在服务器端使用锚点的应用程序。
我已尝试使用带有“nocanon”参数的 ProxyPass(在 Location 块内部和外部),以及带有 [NE,P] 的 RewriteRule(也应该暗示 nocanon)。
POC 配置非常简单,类似于这些:
RewriteEngine on
RewriteRule "^/(.*)" "http://localhost:8080/$1" [NE,P]
或者...
ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/
是否有人有这方面的经验,可以解释一下如何在上游 URL 中包含片段?
RFC 3986 对片段标识符及其在 URL 处理中的作用的描述意味着 Apache 的行为正确,因此答案可能是“你不能那样做”。
答案1
你不能这么做。
# 后面的所有内容都是锚点,它根本不会发送到服务器,而只是由浏览器使用,要么直接通过引用文档中的锚点,要么通过 javascript。