Apache 反向代理 URL 带参数

Apache Reverse Proxy to URL With Parameters

我正在尝试使用 2 台 CentOS 6.5 机器 运行 Apache 2.2.15 设置反向代理,其中 private URL 包含参数(静态, 对于来自 public url) 的所有请求都是一样的,所以设置应该像这样工作:

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

用户 --> public.url/anything --> 私有.url/anything?参数=值

我已经使用 /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>

一切都按预期进行:

用户 --> public.url/ --> private.url/

用户 --> public.url/anything --> 私有.url/anything

但是我不确定如何将 ?parameter=value 后缀添加到 private.url

任何指向正确方向的手指将不胜感激!

所以我最终让它按照我想要的方式工作 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/?parameter=value [P]

希望其他人觉得这有用

提醒:根据文档https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule

,它在位置上下文中不起作用