Apache ProxyPass:将请求的URL作为GETparameter passing给目标URL

嗨我想设置ProxyPass传递请求的URL作为GET参数到目标URL,但我不知道如何写在configuration文件中。

我尝试了这样的事情:

ProxyPass ^(.*)$ http://example.com/?url=$1 ProxyPassReverse ^(.*)$ http://example.com/?url=$1 

但它不起作用。 你能帮我吗? 谢谢!

如果您想使用ProxyPass指令文档中提到的正则expression式,那么您应该使用ProxyPass指令

url是远程服务器的部分URL,不能包含查询string。

因此,您将不得不使用RewriteRule指令并设置[P]标志,以使请求被mod_proxy作为代理请求处理。

虽然这可能需要一些调整,但起点可能是:

 RewriteEngine On RewriteCond %{REQUEST_URI} !^/foo RewriteRule ^(.*)$ /foo?url=$1 [P] ProxyPass /foo http://example.com/ ProxyPassReverse /foo http://example.com/