Страница 1 из 1

Работа HttpCache

Добавлено: 2016.05.13, 09:47
jakiro
Всем привет.

Тут увидел, что гугл требует для сайта Cache-Control заголовок для документа
https://yadi.sk/d/ekfQ48x3rg6LZ

По такому случаю нашел HttpCache :

Код: Выделить всё

  public function behaviors()
  {
    return [
      [
        'class' => 'yii\filters\HttpCache',
        'only' => ['index'],
        'lastModified' => function ($action, $params) {
//          $q = new \yii\db\Query();
          return time() + 3600;
//          return $q->from('users')->max('updated_at');
        },
        'sessionCacheLimiter' => 'public',

//            'etagSeed' => function ($action, $params) {
//                return // generate ETag seed here
//            }
      ],
    ];
  }
Как выяснилось, было добавлено три заголовка (отмечены красным на скрине)
https://yadi.sk/d/4Ty_QlABrg6DS

lastModified возвращает time() + 3600, почему время одинаково с Date заголовком (заголовок формирование документа)?
Как дать заголовки всем элементам? Чтобы гугль был доволен

Re: Работа HttpCache

Добавлено: 2016.05.13, 16:27
Йож
Ну а как lastModified может быть позже текущего времени?
Поэтому браузер показывает время создания документа

не знаю правда - зачем Вы ставите такую дату, выводили бы дату публикации статьи или чего там выводите.

Можно еще сделать так:

Код: Выделить всё

return time() - 3600; 
чтоб документ был всегда "новым", только гугл все поймет :D

Re: Работа HttpCache

Добавлено: 2016.05.13, 17:47
jakiro
Йож писал(а):Ну а как lastModified может быть позже текущего времени?
Поэтому браузер показывает время создания документа

не знаю правда - зачем Вы ставите такую дату, выводили бы дату публикации статьи или чего там выводите.

Можно еще сделать так:

Код: Выделить всё

return time() - 3600;
чтоб документ был всегда "новым", только гугл все поймет :D
Ему Expire нужен был.
Решил проблемы через подключенный модуль apache