是否可以删除cookie并在一个请求中设置一个名称相同但值不同的cookie?这是我到目前为止的代码,它本地适用于我,但不适用于实时服务器。 cookie是从查询字符串设置的,有时cookie可以在外部设置(不是HttpOnly),但在实时服务器上,我将获得一个重定向循环,并且两个cookie都将被设置。
if ($request->query->has('cookie')) {
$setCookie = $request->query->get('cookie');
$route = $request->getRequestUri();
$host = $request->getHost();
if (!$request->cookies->has('reference') || $request->cookies->get('reference') !== $setCookie){
$exp = new \DateTime();
$exp->modify('+3 months'); // cookie has three months to live
$r = new RedirectResponse($route);
$r->headers->clearCookie('reference');
$r->headers->setCookie(new Cookie('reference', $setCookie, $exp, '/', $host));
return $r;
}
}
因此,如果用户访问www。*******。com /?cookie = newvalue,我需要任何当前名为'reference'的cookie和一个设置了值为'newvalue'的新cookie。