0

私がやりたいことは、ページを1時間キャッシュすることです。問題は、オブジェクトが変更された場合、この 1 時間の間にケースを無効に設定できるようにしたいということです。

これまでの私のコードは次のとおりです。

$response = new Response();
$response->setLastModified(new \DateTime($lastModified));        
if ($response->isNotModified($this->getRequest()))
    return $response;
else
    $response->setCache(array(
        'public' => true,
        'max_age' => 3600, 
        's_maxage' => 3600,
    ));

問題は、上記のコードが lastModified をチェックしないことです。1 時間のキャッシュが作成されたら、オブジェクト ($lastModified) に加えた変更を確認するために 60 分待たなければなりません。

4

1 に答える 1

0

symfony2ドキュメントのLast-Modifiedヘッダーを使用したページのキャッシュの例を次に示します。

あなたの間違いは、Last-Modifiedを使用してから、Cache-Controlヘッダー(max_age、s_maxage)で書き直そうとしていることだと思います。

于 2012-11-28T18:16:38.477 に答える