RequestHeader не устанавливается в RewriteRule в htaccess

Следующий RewriteRule в моем файле htaccess не устанавливает заголовок запроса.

Header set Access-Control-Allow-Origin "*"
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^(.*)&someUser=(.*)$
RewriteRule ^(.*)SDM$ http://some.domain.com/SDM/Publish.aspx [E=SOME:%2,R,L]
RequestHeader set Some-User: "%{SOME}e"

Я не думаю, что переменная окружения SOME имеет к этому какое-то отношение, потому что я также попробовал общее значение заголовка, и оно также не было установлено. Я убедился, что мод-заголовки установлены. Я ищу заголовок в своих инструментах разработчика Chrome. Возможно ли, что он не появится там?


person William Oetting    schedule 01.05.2015    source источник
comment
Насколько я понимаю, обработчику контента (php или тому, что обрабатывает aspx) кажется, что запрос был сделан с определенным заголовком, в то время как исходный запрос не имел этого заголовка. Это не влияет на заголовки, которые отправляются обратно.   -  person Sumurai8    schedule 02.05.2015


Ответы (1)


Переменные окружения не будут установлены при выполнении внешнего перенаправления, вы должны выполнить внутреннюю перезапись для установки переменных окружения следующим образом:

Header set Access-Control-Allow-Origin "*"
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} (^|&)someUser=([^&]+) [NC]
RewriteRule ^(.*)SDM$ /SDM/Publish.aspx [E=SOME:%2,L]

RequestHeader set Some-User "%{SOME}e"
person anubhava    schedule 02.05.2015