Вернуть оригинальный файл. Для кеширования я дам архив.
Разрешает считывать
$ext_enabled=array('.gif','.png','.jpg','.jpeg','.js','.css','.ico','.woff','.woff2','.ttf');
можно добавить (или убрать, например, если скрипт в директории картинок, тогда убрать js,css).
Время кеширования установить тут
if(!defined('EXPIRE'))define('EXPIRE',30);
При запросе идет перенаправление на обработчик, который не пропустит (html, txt и пр.)
При выдаче браузер получает параметр EXPIRE (можно поставить 365, или 0 - в режиме разработки сайта).
Скрипт можно поставить в директорию шаблонов (внутри системы он не блокирует расширения - только запросы извне).
access_guard.zip