나는이 일을하고있다 :리디렉션 및 Symfony2
쿠키를 설정하고 302 리디렉션 사용하여이 리디렉션 요식domain.com/route-name/?do-something=1
: 그것은 조치를 취할 수 있습니다
domain.com/route-name/
을 (쿠키는 사용자에 대한 설정을 저장합니다).
기본 Symfony2 리버스 프록시 캐시를 사용하고 있는데 모두 정상이지만 위의 요청이 캐싱되지 않도록해야합니다.
나는이 리디렉션을 수행하기 위해 사용하고 있습니다 :
$response->setCache(array('max_age' => 0));
header("Cache-Control: no-cache");
이 어떻게 내가 그 페이지를 캐시 멈추지 :
// $event being a listener, usually a request listener
$response = new RedirectResponse($url, 302);
$this->event->setResponse($response);
나는이 아무것도하지만, 같은 일을 시도했다가 작동하는 것 같다?
도움을 주셔서 감사합니다. 두 대답 모두 매우 유사하며 두 결과 모두 동일합니다. 이 기능은 첫 번째 URL (검색어 문자열 포함)을 캐싱하는 데는 효과적이지만 캐시 된 최종 URL (domain.com/route-name/ 부분)으로 리디렉션됩니다. 캐싱 헤더가 리디렉션 된 페이지 또는 다른 것으로 전달되어야하는 것처럼 보입니다. – user2143356
domain.com/route-name **/** 경로는 캐시 제어 헤더도 보내야합니다. 당신은 리다이렉트 응답으로 그들을 보내고 당신의 루트는 당신입니까? – nifr
기본적으로 위에서 나열한 두 줄의 코드를 추가했습니다. 나는 또한 http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/RedirectResponse.html을 보았지만 그 밖의 할 수있는 것을 볼 수 없었다. – user2143356