2012-01-24 98 views
0

我正在使用Cookie,以便移动用户可以作为桌面用户访问我的网站。要做到这一点,我给他们一个cookie - mob_yes。无法配置清漆以使用Cookie和Drupal模块

然后,在一个模块中,我使用drupal钩子来查看cookie是否设置。

我可以看到cookie正在设置,但在我的模块(isset($ _ COOKIE [“mob_yes”]))使用清漆时总是返回false。

在/etc/varnish/default.vlc我有以下几点:

if (req.http.Cookie) { 
set req.http.Cookie = regsuball(req.http.Cookie, ";(mob_yes)=", "; \1="); 

我真的不知道是怎么回事,但我只能认定清漆暂不取消设置该cookie?有谁知道这里有什么问题吗?

感谢,

+0

您需要指定粘贴代码的位置。它属于vcl_recv,vcl_hash,vcl_hit还是vcl_fetch? – Doomsday

回答

0

你是什么意思由

我可以看到,饼干是获得设置

你的意思是你可以看到它在萤火头(客户端)然后你在服务器端用tcpdump/varnishlog/application(服务器端)看到它?

来自vcl的代码片段可能是通过在它们前面添加空格来保留重要cookie的常用方法的一部分,删除所有没有“; [space]”组合并在最后删除空格的组合。 它稍后用于为特定的url + cookie请求生成散列。

我想你应该检查你的VCL,如果它没有删除任何cookie,如果用户没有登录 - 这是一个常见的做法,增加命中率。

通常在vcl for drupal它是检查DRUPAL_UID的部分