Te conviene hacerlo via .htaccess si está disponible
Código Apache:
Ver original<FilesMatch "\.(txt|xml|js|css)$">
Header set Cache-Control "max-age=10800"
</FilesMatch>
10800 es el tiempo en segundos, cambialo según tus necesidades
Si lo haces por medio de php, tus archivos deberán ser procesados por php
ejemplo
estilos.css.php
Código PHP:
Ver original<?php
$archivo = $_SERVER['SCRIPT_FILENAME'];
$expira = 60 * 60 * 24 * 365;
$ExpStr = "Expires:" . gmdate("D,d M Y H:i:s",time() + $expira) . " GMT"; $eTag = "ci-".md5($archivo.$ft); header("Content-Type: text/css;charset=utf-8"); header("Cache-Control: public, max-age=$expira"); header('Last-Modified: '.gmdate('D, d M Y H:i:s', $ft).' GMT'); ?>
/*estilos */
el valor 365 representa el número de días, cambialo según tus necesidades
ob_start("ob_gzhandler"); agrgamos también compresión gzip
En el caso de los css, idem, salvo que
header("Content-Type:
text/css;charset=utf-8");
debe de ser
header("Content-Type: text/javascript;charset=utf-8");
Saludos