Apache2合并多个Set-Cookie头

我们有一个运行清漆的服务器。 为了使它与Magento正常工作,它分析是否通过Set-Cookie:EXTERNAL_NO_CACHE = 1头。

唯一的问题是我们有几个以“Set-Cookie:”开头的标题(3或4)。 清漆有一个限制,它只能分析第一个“Set-Cookie”标题。

因此,我想问一下如何合并这些多个设置的Cookie头文件? 我一直在这个过去四天没有任何运气=(

也许使用apaches的mod_header,但我不确定正确的方法是什么?

任何其他的想法?

提前致谢!

PS:运行Debian和Apache 2.2.9

编辑:这里是包含多个set-cookie行的示例标题:

root@magento-development:/# curl -I http://XXXXXXXXX [1] 5332 root@magento-development:/# HTTP/1.1 200 OK Date: Thu, 10 Nov 2011 14:49:56 GMT Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch X-Powered-By: PHP/5.2.6-1+lenny13 Set-Cookie: store=scfr; expires=Fri, 09-Nov-2012 14:49:56 GMT; path=/; domain=XXXXXXXXX; httponly Set-Cookie: frontend=9ac04aa3912eb78eb79f98dd531f7ba6; expires=Thu, 10 Nov 2011 15:49:57 GMT; path=/; domain=XXXXXXXXX; HttpOnly Expires: Thu, 10 Nov 2011 16:49:57 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: EXTERNAL_NO_CACHE=1; expires=Thu, 10-Nov-2011 15:49:57 GMT; path=/; domain=XXXXXXXXX; httponly X-Cache-Debug: 1 Vary: Accept-Encoding,User-Agent Content-Type: text/html; charset=UTF-8 

编辑:修改Apacheconfiguration匹配职位要求

首先,合并cookie头是一个坏主意。 看看阿帕奇人有什么话要说 。

其次,协议规范支持多个set-cookie标头。 如果清漆不能处理多个应被视为错误并报告的set-cookie标头。

第三,你不能让这个清漆规则依赖于另一个自定义标题吗? 像X-Magento-NoCache,你可以从应用程序或从Apache设置? 它必须是一个cookies? 例如

 rewriteengine on rewritecond %{QUERY_STRING} ___store rewriterule .* - [E=MAGENTO_DONT_CACHE:1] header add X-Magento-NoCache 1 env=MAGENTO_DONT_CACHE 

有人可能会提出一个更好的答案,但是你可能会发现,如果你愿意自己构build一个新的版本,那么你会发现这为未来提供了希望,

https://www.varnish-cache.org/trac/ticket/866