Назад | Перейти на главную страницу

Использование переменной среды в mod_headers, установленной mod_rewrite

Я хочу достичь URL-адреса, скажем http://myhost/eng/LOGIN/login?BID=12&BFORENAME=C&BSURNAME=C и вставьте эти параметры в качестве заголовков в запрос. Параметры - это фиксированные имена, поэтому я могу предположить, что всегда должны быть эти 3.

Я использовал RewriteRule в httpd.conf для установки переменной среды, а затем RequestHeader для установки заголовка на основе переменной среды.

Во-первых, может ли кто-нибудь предложить правила использования, на данный момент я выгляжу как

RewriteEngine on
RewriteCond %{QUERY_STRING} BID=(.*)&BFORENAME=(.*)&BSURNAME=(.*)
RewriteRule ^(.*) $1? [R,E=VBID:%1,E=VF:%2,E=VS:%3]
RequestHeader set BID "%{VBID}e"
RequestHeader set BF "%{VF}e"
RequestHeader set BS "%{VS}e"

Но я продолжаю получать пустой заголовок (или без заголовка, если использую env = varname).

Может ли кто-нибудь подсказать, что я делаю неправильно и почему я не могу передать значение из rewriterule в заголовки с использованием переменных среды?

Я ответил на свой вопрос вскоре после того, как написал, наткнувшись на Вопрос о переполнении стека чего я раньше не видел. При использовании переменных среды с RewriteRule, который выполняет перенаправление, Apache изменяет имя, добавляя REDIRECT_ к имени.

К сожалению, я выполнял перенаправление только для целей тестирования, и в конечном итоге я просто хотел зафиксировать параметры в виде заголовков, поэтому RewriteRule ^/ - вообще избегает проблемы.