3

The following RewriteRule in my htaccess file isn't getting the request header set.

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"

I don't think the SOME environment variable has anything to do with it because I tried a generic header value as well and it wasn't set either. I did make sure that mod-headers is installed. I am looking for the header in my chrome developer tools. Is it possible that it won't show up there?

  • From what I understand, it makes it appear to the content-handler (php or whatever handles aspx) that the request was made with a certain header, while the original request didn't have that header. It doesn't affect headers that are sent back. – Sumurai8 May 01 '15 at 21:32

1 Answers1

2

Env variables won't be set while doing external redirect, you must do internal rewrite for setting env variables like this:

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"
anubhava
  • 761,203
  • 64
  • 569
  • 643