我有以下Apache重写规则:
RewriteRule ^(.*)$ http://127.0.0.1:8002$1 [P,L,NC]
目的是将所有传入的URL转发到本地端口8002,其中Express应用正在侦听传入请求。问题是此规则转发基本URL而不是查询字符串参数。
例如,当Apache看到http://example.com/test/时,Express看到http://example.com/test/但是当Apache看到http://example.com/test/?a=b时,Express仍会看到http://example.com/test/。
如何将查询字符串传递到端口8002?
答案 0 :(得分:0)
不确定这是否是最佳解决方案,但您可以这样做:
RewriteRule ^(.*)$ http://127.0.0.1:8002$1?%{QUERY_STRING} [P,L,NC]
答案 1 :(得分:0)
看起来正确的方法是在https://stackoverflow.com/a/12873205/82135
处添加QSA标志所以,
RewriteRule ^(.*)$ http://127.0.0.1:8002$1 [P,L,NC,QSA]
现在有效。