(Apache)正则表达式匹配特定的cookie名称+值(剥离/删除它)?

use*_*303 1 regex apache cookies request-headers mod-headers

我正在尝试使用"RequestHeader edit"指令来获取"Cookie"标头,并从该标头中删除特定的cookie.

换句话说,假设传入的"Cookie"标题是:

Cookie: header1=123; myheader=abc; header2=789
Run Code Online (Sandbox Code Playgroud)

我想使用"RequestHeader edit"将"Cookie"标题修改为:

Cookie: header1=123; header2=789
Run Code Online (Sandbox Code Playgroud)

或者,作为另一个例子,如果传入的"Cookie"标题是:

Cookie: header1=123; header2=789; myheader=abc
Run Code Online (Sandbox Code Playgroud)

改为:

Cookie: header1=123; header2=789
Run Code Online (Sandbox Code Playgroud)

我对正则表达式很恐怖,但我能够得到的最接近的是:

RequestHeader编辑 Cookie "myheader=.*(;)|myheader=.*($)" ""

但是,即使这有一个问题,如果"myheader"cookie是"Cookie"字符串/值中的最后一个,我最后会以分号(";")结尾.

任何人都可以提供完全正确地执行此操作的正则表达式吗?

谢谢,吉姆

PS我也想知道:带有尾随分号的Cookie是否有效?

Sal*_*n A 8

尝试:

RequestHeader edit Cookie "(^myheader=[^;]*; |; myheader=[^;]*)" ""
Run Code Online (Sandbox Code Playgroud)