通过url参数的Apache转发代理

时间:2017-04-26 02:25:02

标签: apache

我希望将URL参数为“deep”的任何访问重定向到本地服务器,并将其他访问权限重定向到其他服务器。 转发如下请求:

① url parameter starting with deep
http*://hostname/bdd?deep=1
→
http*://127.0.0.1:8080/bdd
② other url 
→
http*://10.137.213.101:8080/bdd

我正在设置我的apache conf如下,但它仍然不起作用。

RewriteEngine On
RewriteCond %{QUERY_STRING} ^deep
RewriteRule "^/bdd(.*)$" /dataviewlinks/ [L]
ProxyPass /dataviewlinks http*://127.0.0.1:8080/bdd
ProxyPassReverse /dataviewlinks http*://127.0.0.1:8080/bdd

ProxyPass /bdd http*://10.137.213.101:8080/bdd
ProxyPassReverse /bdd http*://10.137.213.101:8080/bdd

可能是什么解决方案?

1 个答案:

答案 0 :(得分:0)

过去我这样做是为了将端口8080上的任何网络访问重定向到另一个目录。

<VirtualHost *:8080>
    ServerName 127.0.0.1

    <Proxy *>
       Order deny,allow
       Allow from all
    </Proxy>
    ProxyRequests On
    ProxyPreserveHost On

    ProxyPass "/" "http://10.137.213.101:8080/bdd"
    ProxyPassReverse "/" "http://10.137.213.101:8080/bdd"
</VirtualHost>

也许这对你也有用。

还要确保已启用代理mod sudo a2enmod proxy并重新启动apache