Apache 反向代理和查询字符串
我认为在使用Apache作为反向代理时很常见。按照手册上的指示设置ProxyPass和ProxyPassReverse应该可以运行,但在我处理的情况中,后端服务器包含了服务器名称的查询字符串(URL参数),所以需要进行额外的设置。
当出现这种情况时,按照下面的 Rewrite 规则,根据 QUERY_STRING 将 internal-servername 改为 servername。这就是处理 QUERY_STRING 的方式嘛…。
RewriteEngine on
RewriteCond "%{QUERY_STRING}" "(.*)internal-servername(.*)"
RewriteRule "^/(.*)$" "/$1?%1servername%2" [R,L]
可能需要与其他Rewrite规则相关的N标志。