Не могу заставить работать заголовки Expiry

Я использую ужасный yslow и имею 39 статических компонентов без срока годности в далеком будущем. сообщение пиная на меня.

Я просмотрел несколько руководств/ответов и придумал это в своем httpdocs/.htaccess.

#Expire Header
ExpiresActive On
<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
    ExpiresDefault "access plus 6 months"
    Header append Cache-Control public
</FilesMatch>

Однако каталоги, в которых хранятся все файлы, например, сумасшедшие, например, у меня есть такие.

httpdocs/mpu/
httpdocs/css/
httpdocs/images/
httpdocs/js/
httpdocs/favicon.ico
httpdocs/mph/
httpdocs/min/
httpdocs/js/sliders/
httpdocs/js/gallery/

и так далее, и я не совсем уверен, будут ли выражения FilesMatch захватывать все файлы подкаталогов или нет?

Если они это сделают, то может ли кто-нибудь увидеть причину, по которой мой приведенный выше фрагмент все еще говорит, что у него нет даты истечения срока действия в далеком будущем.

РЕДАКТИРОВАТЬ: это ответ заголовка от chrome

Request Headers

Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Pragma:no-cache
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11

Response Headers

Accept-Ranges:bytes
Cache-Control:max-age=15552000, public
Connection:close
Content-Length:3597
Content-Type:image/png
Date:Mon, 23 Jul 2012 10:49:43 GMT
Expires:Sat, 19 Jan 2013 10:49:43 GMT
Last-Modified:Thu, 21 Jun 2012 16:46:19 GMT
Server:Apache
X-Powered-By:PleskLin

person Owen    schedule 23.07.2012    source источник


Ответы (1)


Если вы считаете, что ваш селектор FilesMatch не работает, вы также можете проверить с помощью директивы ExpiresByType:

ExpiresActive on
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 year"

Глядя на заголовки, которые вы включили, кажется, что для этого файла, по крайней мере, он устанавливает правильную настройку управления кешем:

Cache-Control:max-age=15552000, public
Date:Mon, 23 Jul 2012 10:49:43 GMT
Expires:Sat, 19 Jan 2013 10:49:43 GMT

Параметр max-age 15552000 равен 6 месяцам, а заголовок Expires — сегодня + 6 месяцев.

Это результат для одного из файлов, который, по мнению YSlow, не имеет заголовка с истекающим сроком действия? У вас есть общедоступная ссылка, демонстрирующая проблему?

person BrianC    schedule 23.07.2012