Apache: как добавить заголовки Expires в файлы без установленных mod_expires

Я нахожусь на общем хосте Apache. По-видимому, mod_expires не установлен. Есть ли другой способ добавить в заголовки заголовков к css-файлам, изображениям и т. Д. В этой среде?

В вашем .htaccess (если это опция) вы можете использовать блок <FilesMatch> с директивами Header . Однако для этого нужны mod_headers , и я уверен, что вы не можете указать «скользящую» дату истечения срока действия (т. mod_headers год»). Поэтому вам нужно будет отредактировать этот параметр, скажем, один раз в год 1 .

Кроме того, вы видели этот вопрос ?


1) Очевидно, вы должны воздерживаться от установки Expires более чем на год в будущем: «Не устанавливайте его [заголовок Expires ] на более чем один год в будущем, поскольку это нарушает рекомендации RFC». (источник: оптимизировать кеширование )

Вы можете использовать PHP для встраивания заголовков истечения,
не эффективен как apache mod_expires,
но, как минимум, он все еще может служить для загрунтованного кеша

Использование будущего заголовка Expires влияет на просмотры страниц только после того, как пользователь уже посетил ваш сайт. Он не влияет на количество HTTP-запросов, когда пользователь впервые посещает ваш сайт, а кеш браузера пуст. Поэтому влияние этого повышения производительности зависит от того, как часто пользователи нажимают на ваши страницы с загружаемым кешем. («Исправленный кеш» уже содержит все компоненты на странице.) Мы измерили это на Yahoo! и нашел, что количество просмотров страниц с загрунтованным кешем составляет 75-85%. Используя длинный заголовок Expires будущего, вы увеличиваете количество компонентов, которые кэшируются браузером и повторно используются при последующих просмотрах страниц, не отправляя один байт через интернет-соединение пользователя.

источник: http://developer.yahoo.com/performance/rules.html#expires

Просто отправьте заголовок самостоятельно, используя header ()

 header("Expires: Thu, 01 Dec 1994 16:00:00 GMT", true); 

Изменить: не видели, что изображения, … также упоминаются. Это работает только для php-файлов или всего, что вы передаете php, что в большинстве случаев не очень хорошая идея.