sadieff
@sadieff
Нажимаю клавиши в нужной последовательности

Как передать Last-Modified заголовки для modx?

Доброго времени суток, разработчики! Хочу вывести Last-Modified заголовок и код 304 для сайта на MODX.
Нашел плагин:
<?php
switch ($modx->event->name) {

	case 'OnManagerPageInit':
		$cssFile = MODX_ASSETS_URL.'components/modlastmodified/css/mgr/main.css';
		$modx->regClientCSS($cssFile);
		break;
        
    case 'OnWebPagePrerender':
        $modified = date("r", strtotime($modx->resource->get('editedon')));
        header ("Last-Modified: $modified");

        $modx->resource->_contextKey = $modx->resource->context_key;
        $cache = $modx->cacheManager->getCacheProvider($modx->getOption('cache_resource_key', null, 'resource'));
        $key = $modx->resource->getCacheKey();
        if ($cache->get($key)) {
            $qtime = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] : '';
            if (strtotime($qtime) >= strtotime($modified)) {
                header ("HTTP/1.1 304 Not Modified ");
                header("Expires: " . date("r", time() + 3600));
                exit();
            }
        }
        header("Expires: " . date("r", time() + 3600));
        break;
}

В итоге код страницы 304 передается, а вот Last-Modified никак не хочет. В итоге проверка last-modified.com/ru вот тут не проходит.
Хотя если очистить кэш, при первой загрузке возвращается код 200, и с ним идет "last-modified:Wed, 18 Jan 2017 22:28:27 +0300", а вот вместе с 304 никак не хочет. В какую сторону копать?
  • Вопрос задан
  • 1057 просмотров
Решения вопроса 1
sadieff
@sadieff Автор вопроса
Нажимаю клавиши в нужной последовательности
Оказывается, все работает, просто сервис проверки last-modified.com/ru не дружит с https. Консолька и яндекс вэбмастер говорят, что все ок.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zooks
@zooks
Frontend и Django
Отключить кэширование для главной. Других способов я не нашел.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы