У меня есть .htaccess в корне моего документа со следующим:
ExpiresActive On
ExpiresDefault A0
<FilesMatch "\\.(gif|jpe?g|png)$">
ExpiresDefault A86400
</FilesMatch>
Однако для конкретного подкаталога / images / avatar я хочу, чтобы возраст был только 300 секунд. Таким образом, я создал еще один .htaccess в / images / avatar со следующим:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A300
</IfModule>
С указанными выше настройками я не могу установить время истечения 300 секунд для файлов в / images / avatar. Однако, если я удалю .htaccess в корне, будет применяться правило 300 секунд.
Любая помощь? Спасибо
Я подозреваю, что проблема заключается в том, что параметры FilesMatch применяются после параметров каталога. Попробуйте указать директиву FilesMatch в каталоге вашего аватара, например:
<FilesMatch ".">
ExpiresActive On
ExpiresDefault A300
</FilesMatch>
Видеть http://httpd.apache.org/docs/2.0/sections.html в котором объясняется, что сначала применяются параметры каталога, а затем применяются параметры FilesMatch. В вашем случае у вас были параметры каталога, устанавливающие ExpiresDefault на A300, а затем родительский параметр FilesMatch был применен к любым файлам соответствия в подкаталоге (помните, что параметры настройки для каталога влияют на все подкаталоги).