Apache反向代理到带参数的URL

时间:2015-02-17 09:15:47

标签: apache url parameters proxy reverse

我正在尝试使用运行Apache 2.2.15的2台CentOS 6.5计算机设置反向代理,其中私有 URL包含参数(静态,对于通过公共网址发出的所有请求都是相同的),所以设置应该像这样工作:

用户 - > public.url / - > private.url /?参数=值

用户 - > public.url / anything - > private.url /什么?参数=值

我已设法使用/etc/httpd/conf.d/reverse-proxy.conf中的以下指令设置反向代理

    ProxyRequests Off

    proxyPass / private.url:80/ connectiontimeout=5 timeout=30
    proxyPassReverse / private.url:80/

    ProxyPassReverseCookieDomain private.url public.url

    <Location />

            RequestHeader unset Accept-Encoding
            AddOutputFilterByType SUBSTITUTE text/html
            Substitute "s|private.url|public.url|i"

    </Location>

一切都按预期工作:

用户 - &gt; public.url / - &gt; private.url /

用户 - &gt; public.url / anything - &gt; private.url /任何

但是我不知道如何在private.url中添加?parameter = value 后缀

任何指向正确方向的手指都会非常感激!

1 个答案:

答案 0 :(得分:1)

所以我最终按照我想要的方式使用mod_rewrite

    #Check if string already exists
    RewriteCond %{QUERY_STRING} !(.*parameter.*) [NC]
    #Add the string and keep hidden from user with [P]
    RewriteRule ^/(.*)$ public.url/$1?parameter=value [P]

希望别人找到这个有用的