代理背后的服务器发回一个Set-Cookie
(响应)头,我想要更改它。我想将path=/
添加到其中:
Set-Cookie: DMZSID=none; HttpOnly; Expires=Thu, 01 Jan 1970 00:00:00 GMT
所以:
Set-Cookie: DMZSID=none; HttpOnly; path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT
有时,此标头也会通过代理:
Set-Cookie: DMZSID=somethingImportant; HttpOnly; path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT
因此,在我缺乏经验的眼里,有两种选择:
当cookie名为DMZSID时,始终设置path=/
这似乎是最简单的选择。我可能会尝试使用Header merge Set-Cookie path=/ env=someVariable
,但我不知道如何设置SetEnvIf
来触发正确的cookie名称。
检查DMZSID=none并添加path=/
我可能会再次使用merge来添加path=/
位,但是同样,我不知道如何设置触发的SetEnvIf
条件。
那么,如何更改此响应头,使其在包含DMZSID
时始终包含path=/
发布于 2019-07-15 19:34:09
嗯,在我发现你可以在Apache的Header edit
中使用PCRE之后,我找到了一种更简单的方法。简单地说,就是这样:
Header edit Set-Cookie "(^DMZSID=none;\s?HttpOnly;\s?)(.*)" "$1path=/; $2"
这将编辑Set-Cookie
标头。首先,它准确地捕获了"DMZSID=none;HttpOnly;“,属性之间有0或1个空格。在此之后,它会捕获其余部分。然后,只需替换为contents of group 1
+ path=/;
+ contents of group 2
,您就会得到:
Set-Cookie: DMZSID=none; HttpOnly; path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT
通过在最后添加path=/
,这可能会更容易完成,但我更喜欢这样做。
https://stackoverflow.com/questions/57045869
复制相似问题