Я хочу достичь 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 ^/
- вообще избегает проблемы.