Решено.
Прежде всего вы должны рассмотреть возможность сделать это через Apache.Вы можете взглянуть на это руководство: http://httpd.apache.org/docs/2.2/caching.html
Дело в том, что CakePHP имеет метод для этого.И это довольно хорошо.
Я объясню это для файлов CSS.Конечно, можно использовать и для JS-контента.
1) В вашем файле core.php (в app / config /) раскомментируйте эту строку:
Configure::write('Asset.filter.css', 'css.php');
Эта строка говорит CakePHPнаправлять все запросы к файлам CSS через этот скрипт "css.php".Как следует из названия, это фильтр.Там мы можем делать все, что захотим.
2) Создайте этот файл "css.php".Вы должны создать его в app / webroot /
Сделав это, вы можете взять файл, который запрашивает браузер, и применить некоторые HTTP-заголовки кэша.
Что-то вроде:
$filepath = CSS . $regs[1]; //There are some variables that are can be used in this script, take a look to de docs.
$output = file_get_contents($filepath);
header("Date: " . date("D, j M Y G:i:s ", $templateModified) . 'GMT');
header("Content-Type: text/css");
header("Expires: " . gmdate("D, d M Y H:i:s", time() + DAY) . " GMT"); //WEEK or MONTH are valid as well
header("Cache-Control: max-age=86400, must-revalidate"); // HTTP/1.1
header("Pragma: cache"); // HTTP/1.0
print $output;
Вот и все!Там ваш контент будет обслуживаться с указанными заголовками, и браузер будет знать, что может их кешировать.
Взгляните на:
http://www.bunchacode.com/programming/get-cakephp-build-in-css-compression-to-work/
Есть хорошая версияфайла css.php, который также его обрабатывает.