У всего приложения есть глобальный заголовок expires, установленный в .htaccess, у меня есть URL-адрес, например. / current, который мне нужен как другой заголовок срока действия.
Другим решением может быть использование Apache mod_setenvif и mod_headers для условной установки заголовков кеша.
SetEnvIf Request_URI "^/current$" OVERRIDE_CACHE_HEADERS=TRUE
Header set Cache-Control no-cache env=OVERRIDE_CACHE_HEADERS
Я не пробовал эту конкретную конфигурацию, но у меня есть аналогичная, которая устанавливает переменную среды с помощью директивы RewriteRule, а затем использует Header для условного изменения директив Cache-Control
Использование может использовать <Location>
Директива apache для определения различных параметров (например, истечения срока действия) для определенного URL-адреса.
Я предполагаю, что:
Файлы .htaccess ищутся в каждом каталоге на пути к обслуживаемому файлу, если они включены, начиная с корневого каталога документации. Поэтому проще всего будет поместить новый файл .htaccess в каталог, для которого вы хотите изменить срок действия. Если ваш сайт www.foo.com и вы хотите, чтобы у / current был другой заголовок expire, используйте простой файл .htaccess на www.foo.com/current. Файлу просто необходимы:
# enable expirations with mod_expires
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 2 weeks"
</IfModule>
При этом ... блок в вашем файле (ах) httpd.conf для всего сервера, блок виртуального хоста или в docroot .htaccess были бы более элегантными и управляемыми решениями.
Полезный пример, который должен хорошо сочетаться с переписыванием:
http://mark.koli.ch/2010/12/set-cache-control-and-expires-headers-on-a-redirect-with-mod-rewrite.html