diff --git a/core/ProxyHttp.php b/core/ProxyHttp.php index 5e091853baa..a5aec5789c8 100644 --- a/core/ProxyHttp.php +++ b/core/ProxyHttp.php @@ -51,10 +51,10 @@ public static function isHttps() * * @param string $file The location of the static file to serve * @param string $contentType The content type of the static file. - * @param bool $expireFarFuture If set to true, will set Expires: header in far future. - * Should be set to false for files that don't have a cache buster (eg. piwik.js) + * @param bool $expireFarFuture Day in the far future to set the Expires header to. + * Should be set to false for files that don't have a cache buster (eg. piwik.js) */ - public static function serverStaticFile($file, $contentType, $expireFarFuture = true) + public static function serverStaticFile($file, $contentType, $expireFarFutureDays = 100) { if (file_exists($file)) { // conditional GET @@ -76,9 +76,9 @@ public static function serverStaticFile($file, $contentType, $expireFarFuture = @header('Vary: Accept-Encoding'); @header('Content-Disposition: inline; filename=' . basename($file)); - if ($expireFarFuture) { + if ($expireFarFutureDays) { // Required by proxy caches potentially in between the browser and server to cache the request indeed - @header("Expires: " . gmdate('D, d M Y H:i:s', time() + 86400 * 100) . ' GMT'); + @header("Expires: " . gmdate('D, d M Y H:i:s', time() + 86400 * (int)$expireFarFutureDays) . ' GMT'); } // Returns 304 if not modified since diff --git a/js/index.php b/js/index.php index cece8a336f9..6b033534923 100644 --- a/js/index.php +++ b/js/index.php @@ -30,7 +30,7 @@ $file = '../piwik.js'; // There is no cache buster parameter so we don't set Expires: header -$expireFarFuture = false; -ProxyHttp::serverStaticFile($file, "application/javascript; charset=UTF-8", $expireFarFuture); +$daysExpireFarFuture = 10; +ProxyHttp::serverStaticFile($file, "application/javascript; charset=UTF-8", $daysExpireFarFuture); exit;