Just to post my config and some more detail about the header matching problem.

RewriteEngine On
RewriteCond %{HTTP:MY-HEADER} (INTERESTING_[a-z0-9_]+).*+ [NC]
RewriteRule .* - [E=THING1:%1]
RewriteRule .* - [E=THING2:%2]
RequestHeader set OUTPUT-HEADER "%{THING1}e,%{THING2}e"

The reason behind the multiple RewriteRules was the fact that I couldn't find a way to put a comma into the environment setting part as it took that as the delimiter for the flags, escaping and quoting didn't appear to help.

So if I put this header in
INTERESTING_1,something,else,INTERESTING_2,INTRESTING_3

I only ever get the first match i.e. %1=INTERESTING_1.



If I do this

RewriteCond %{HTTP:MY-HEADER} .*(INTERESTING_[a-z0-9_]+) [NC]
then I get the last one


What I am hoping is that there is a nice way of matching multiple of them and reconstructing into a comma separated list, I can cope with having to list them out explicitly but am struggling to get a regex which allows me to do this.

I would normally in Perl have used the /g modifier however the only modifiers I have are NC,L and the slash is taken literally so /g tries to match "/g".


Any pointers will be greatly appreciated.

Cheers

Andy.


On 2012-10-15 12:16, andy wrote:
I am having a problem which I believe is related to greedy matching.

Header on the way in

MY-HEADER: interesting_1,something_else,interesting_2,interesting_3

and I want to set an environment variable then use mod_headers to
replace it with

MY-HEADER: interesting_1,interesting_2,interesting_3

Whatever I try I only appear to get the first or last instance
matched and was expecting to be able to build my output from %1,%2,%3
in a RewriteRule right after the RewriteCond.

Any help appreciated.

Cheers

Andy.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to