2012-12-10 24 views
1

我试图用一个“RequestHeader编辑”指令采取了“曲奇”标题,并从头部删除特定的Cookie。(Apache)正则表达式匹配特定的cookie名称+值(剥离/删除它)?

换句话说,假设输入 “曲奇” 标题是:

Cookie: header1=123; myheader=abc; header2=789 

我想用 “RequestHeader编辑”,以修改 “曲奇” 标头:

Cookie: header1=123; header2=789 

或者,作为另一示例,如果传入的“Cookie”标头为:

Cookie: header1=123; header2=789; myheader=abc 

将其改为:

Cookie: header1=123; header2=789 

我可怕与正则表达式,但我已经能够最接近得到的是:

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

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

任何人都可以提供一个正则表达式,将完全正确地做到这一点?

感谢, 吉姆

附:我也想知道:带有后缀分号的Cookie是否有效?

回答

6

尝试:

RequestHeader edit Cookie "(^myheader=[^;]*; |; myheader=[^;]*)" "" 
+0

萨尔曼,谢谢。我只是想你的建议,并给出了同样的(“几乎”是正确的)结果,即如果“myheader” cookie名称/值对是非常最后一块饼干,在“曲奇”值/字符串的结尾,你建议的正则表达式留下一个尾随分号(“;”)。 – user555303

+0

萨尔曼 - 我不确定我是否明白“检查编辑”的含义? – user555303

+0

我编辑了我的答案。它应该在四种情况下工作('myheader'在开始,中间,结束或根本不存在)。 –

相关问题