Cache images loaded from the route (when cache is enabled) (#905)

* Cache images loaded from the route (when cache is enabled)

* Use GMT instead of +0000 as used in DATE_RFC1123 format
This commit is contained in:
Flavio Copes
2016-07-11 21:13:25 +02:00
committed by Andy Miller
parent 8e7cc01e75
commit 29f6da675d

View File

@@ -270,6 +270,25 @@ abstract class Utils
} else {
$new_length = $size;
header("Content-Length: " . $size);
if (Grav::instance()['config']->get('system.cache.enabled')) {
$expires = Grav::instance()['config']->get('system.pages.expires');
if ($expires > 0) {
$expires_date = gmdate('D, d M Y H:i:s T', time() + $expires);
header('Cache-Control: max-age=' . $expires);
header('Expires: ' . $expires_date);
header('Pragma: cache');
}
header('Last-Modified: ' . gmdate("D, d M Y H:i:s T", filemtime($file)));
// Return 304 Not Modified if the file is already cached in the browser
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) &&
strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= filemtime($file))
{
header('HTTP/1.1 304 Not Modified');
exit();
}
}
}
/* output the file itself */