Доброго времени суток, разработчики! Хочу вывести 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 никак не хочет. В какую сторону копать?