2014-11-28 4 views
3

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

Я хочу кэшировать определенные файлы в течение одного месяца. В остальном я хочу, чтобы он обновлялся каждый раз. Так что я пробовал:

<IfModule mod_headers.c> 
    Header unset Cookie 
    Header unset Set-Cookie 

    #Header set Cache-Control "max-age=31536000" 
    Header unset Cache-Control 
    Header unset ETag 
    FileETag none 
</IfModule> 

<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresDefault "now" 
    <Files "/css/jquery-ui.css"> 
     ExpiresDefault "access plus 1 month" 
    </Files> 
    <Files "/js/jquery-1.10.2.min.js"> 
     ExpiresDefault "access plus 1 month" 
    </Files> 
    <Files "/js/jquery-ui.js"> 
     ExpiresDefault "access plus 1 month" 
    </Files> 
    <Files "/js/analytics.js"> 
     ExpiresDefault "access plus 1 month" 
    </Files> 
    <Files "/matheos/img/*"> 
     ExpiresDefault "access plus 1 month" 
    </Files> 
    <Files "/img/*"> 
     ExpiresDefault "access plus 1 month" 
    </Files> 
</IfModule> 

Но он не работает так, как ожидается, по-видимому ... HTML, правильно не кэшируются, но и для других файлов, это не кажется правильным. Файлы, которые я хотел не кэшировать, кажутся кэшированными в течение 15 минут (хорошо, я могу выжить, но почему? ...), а для других я не могу быть уверен. Я думаю, что они могут быть правильно кэшированы, но как я могу знать?

В любом случае, этот htaccess кажется вам подходящим?

Большое спасибо за помощь. Я беру любой совет;)

ответ

5

Хорошо, получилось! Чтобы настроить таргетинг на конкретный файл, правильный синтаксис:

#to not cache css except jquery-ui.css 
    ExpiresByType text/css "now" 
    <FilesMatch "jquery-ui\\.css$"> 
     ExpiresByType text/css "access plus 1 month" 
    </FilesMatch> 

Это единственный способ, который работал для меня, по крайней мере, в случае OVH общего узла. Я также пробовал все возможные комбинации с ExpiresDefault, но он не работал ...

Смежные вопросы