Trying to modify an apache request header directive, I need to use a negative lookahead regex to keep only certain cookies.
Test string
someCookie=someValue; anotherCookie=yada61; cookieToKeep1=myValue; cookieToKeep2=myValue2; lastCookie=yada1
Trying to remove all cookies but cookieToKeep1
and cookieToKeep2
.
I can use the below regex but only matches the name and not the = and cookie value.
\\b((?!cookieToKeep1=\[^;\]*|cookieToKeep2=\[^;\]*).)\\S
Apache directive that I tried:
RequestHeader edit Cookie "(\b((?!cookieToKeep1=[^;]*|cookieToKeep2=[^;]*).)\S )" ""
CodePudding user response:
You can use this directive to remove all cookies except cookieToKeep1
and cookieToKeep2
:
RequestHeader edit* Cookie "\b(?!(?:cookieToKeep1|cookieToKeep2)=)([^;=] =[^;]*(?:; *|$))" ""
RequestHeader edit*
performs multiple search and replacements.