我如何重写 url 以附加 Apache 的 header

How can I rewrite a url to append a header with Apache

我有一个 Apache 实例以 https://www.example.com/some_path/rpc/x/y/z.pbf 的形式接收请求,其中包括 header OIDC_CLAIM_foo = "[1,2]"

我如何重写 URL 以便在它包含“rpc”时将 header 作为查询字符串的一部分附加,即:https://www.example.com:3000/other_path/rpc/x/y/z.pbf?foo=[1,2]

是否可以对查询的 [1,2] 部分进行 urlencode?

试试这个

它检查 header OIDC_CLAIM_foo 是否存在并且不为空。

如果是这样,它将值附加到当前 request_uri

它还会检查查询参数 foo 是否存在以防止无限循环

RewriteCond %{HTTP:OIDC_CLAIM_foo} ^(.+)$
RewriteCond %{QUERY_STRING} !foo
RewriteRule ^(.*/rpc/.*)$ /?foo=%1 [L]