Как я могу переписать URL-адрес для добавления заголовка с помощью Apache

#apache #mod-rewrite #mod-auth-openidc

#apache #mod-переписать #mod-auth-openidc

Вопрос:

У меня есть экземпляр Apache, который получает запросы в форме https://www.example.com/some_path/rpc/x/y/z.pbf , которые включают в себя, среди прочего, заголовок OIDC_CLAIM_foo = "[1,2]"

Как я могу переписать URL-адрес так, чтобы, когда он включал «rpc», заголовок добавлялся как часть строки запроса, т.е: https://www.example.com:3000/other_path/rpc/x/y/z.pbf?foo=[1,2]

Возможно ли urlencode часть запроса [1,2]?

Комментарии:

1. Привет @dreamcrash На самом деле это не связано, keycloak просто выдает претензию. Я попытаюсь удалить тег

Ответ №1:

Попробуйте это

Он проверяет, существует ли заголовок OIDC_CLAIM_foo, который не является пустым.

Если это так, он добавляет значение к текущему request_uri

Он также проверяет, существует ли параметр запроса foo, чтобы предотвратить бесконечные циклы

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