Сделал следующую модификацию:
в файле /components/com_content/content.php в функции show() перед строкой
$cache->call( 'HTML_content::show', $row, $params, $access, $page );
дописал такой код
$date_arr = explode(' ',$row->modified);
$tm = explode(':',$date_arr[1]);
$dt = explode('-',$date_arr[0]);
$date1 = mktime($tm[0],$tm[1],$tm[2],$dt[1],$dt[2],$dt[0]);
$date_arr = array(); $tm = array(); $dt = array();
$date_arr = explode(' ',$row->created);
$tm = explode(':',$date_arr[1]);
$dt = explode('-',$date_arr[0]);
$date2 = mktime($tm[0],$tm[1],$tm[2],$dt[1],$dt[2],$dt[0]);
$date = ($date1>$date) ? $date1 : $date2;
$last_modified = gmdate('D, d M Y H:i:s', $date) . ' GMT';
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
$if_modified = preg_replace('/;.*$/', '', $_SERVER['HTTP_IF_MODIFIED_SINCE']);
if ($if_modified == $last_modified) {
header('HTTP/1.0 304 Not Modified');
header('Cache-Control: max-age=86400, must-revalidate');
exit;
}
}
header('Cache-Control: max-age=86400, must-revalidate');
header('Last-Modified: ' . $last_modified);
Всё равно Last-Modified выводит текущую дату. Может я что-то не то делаю?