Срок кеширования файлов для браузера

Список разделов phpBBex 1.x (поддерживается) Поддержка 1.x

Описание: У вас проблемы с phpBBex 1.x и вам необходима помощь? Спрашивайте здесь!
Правила раздела: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть вопроса. Подробно описывайте проблему. Не забудьте указать версию phpBBex и какие моды установлены, по возможности добавьте скриншоты проблемы или ссылку на страницу с проблемой.
Модератор: Поддержка

Сообщение #1 Алексей » 28.12.2012, 02:44

Сервис google - Page Speed Online или расширение Google Page Speed для Mozilla Firefox показывает, что срок кеширования картинок на сайте supermamki-nk.ru не устанавливается:
Снимок.JPG

Где этот срок может устанавливаться, кроме файлов .htaccess? Почему срок кеширования, в основном, не устанавливается только на файлы картинок, которые я добавил - это иконка сайта (favicon.ico), иконки подфорумов (папка ./images/icons/forum/), картинки баннеров (папка ./images/skidkis/), смайлики и др.?

Содержимое файла .htaccess в корне сайта:
Код: Выделить всё
<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

<Files "common.php">
Order Allow,Deny
Deny from All
</Files>

# Common
AddDefaultCharset utf-8
AddCharset utf-8 .html .css .js .xml .json .rss
Options -Indexes
<IfModule mod_php5.c>
php_flag magic_quotes_gpc off
php_flag register_globals off
</IfModule>
FileETag None

<IfModule mod_expires.c>
ExpiresActive On
</IfModule>

# Multimedia MIME types
AddType audio/ogg                  ogg oga
AddType video/ogg                  ogv
AddType audio/webm                  webma
AddType video/webm                  webm webmv
AddType audio/mp4                  m4a
AddType video/mp4                  mp4 m4v
AddType audio/opus                  opus
AddType audio/flac                  flac
AddType audio/aac                  aac
AddType audio/mpeg                  mp1 mp2 mp3 mpg mpeg
AddType audio/wav                  wav

<IfModule mod_expires.c>
ExpiresByType audio/ogg               "access plus 3 month"
ExpiresByType video/ogg               "access plus 3 month"
ExpiresByType audio/webm            "access plus 3 month"
ExpiresByType video/webm            "access plus 3 month"
ExpiresByType audio/mp4               "access plus 3 month"
ExpiresByType video/mp4               "access plus 3 month"
ExpiresByType audio/opus            "access plus 3 month"
ExpiresByType audio/flac            "access plus 3 month"
ExpiresByType audio/aac               "access plus 3 month"
ExpiresByType audio/mpeg            "access plus 3 month"
ExpiresByType audio/wav               "access plus 3 month"
</IfModule>

# Image MIME types
AddType image/png                  png
AddType image/gif                  gif
AddType image/jpeg                  jpg jpeg
AddType image/webp                  webp
AddType image/svg+xml               svg svgz

<IfModule mod_expires.c>
ExpiresByType image/png               "access plus 1 month"
ExpiresByType image/gif               "access plus 1 month"
ExpiresByType image/jpeg            "access plus 1 month"
ExpiresByType image/webp            "access plus 1 month"
ExpiresByType image/svg+xml            "access plus 1 month"
</IfModule>

# Font MIME types
AddType font/ttf                  ttf
AddType font/otf                  otf
AddType application/x-font-woff         woff

<IfModule mod_expires.c>
ExpiresByType font/ttf               "access plus 1 month"
ExpiresByType font/otf               "access plus 1 month"
ExpiresByType application/x-font-woff   "access plus 1 month"
</IfModule>

# Text MIME types
AddType text/cache-manifest            manifest
AddType text/javascript               js
AddType text/css                  css
AddType text/html                  html

<IfModule mod_expires.c>
ExpiresByType text/cache-manifest      "access plus 7 days"
ExpiresByType application/javascript    "access plus 7 days"
ExpiresByType application/x-javascript    "access plus 7 days"
ExpiresByType text/javascript         "access plus 7 days"
ExpiresByType text/css               "access plus 7 days"
ExpiresByType text/html               "access plus 7 days"
</IfModule>

# Binary MIME types
AddType application/x-7z-compressed      7z
AddType application/x-shockwave-flash   swf

<IfModule mod_expires.c>
ExpiresByType application/x-7z-compressed   "access plus 1 month"
ExpiresByType application/x-shockwave-flash   "access plus 1 month"
</IfModule>

# Gzip compression for Apache 2
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml
AddOutputFilterByType DEFLATE font/ttf font/otf image/svg+xml
</IfModule>

# Gzip compression for Apache 1
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php)$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

Содержимое файла .htaccess в папке ./images/:
Код: Выделить всё
<IfModule mod_cgi.c>
Options -ExecCGI
</IfModule>
<IfModule mod_include.c>
Options -Includes
</IfModule>
<IfModule mod_php5.c>
php_flag engine off
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>

Модуль mod_expires.c на сервере подключен.
Алексей M
Автор темы
Аватара
Репутация: 19
С нами: 11 лет 6 месяцев

Сообщение #2 VEG » 28.12.2012, 10:21

Если mod_expires подключён, значит что-то не то с настройками. Как я понимаю, все стандартные картинки форума отдаются с нормальным сроком истечения? Если так, то проверьте созданный вами каталог: возможно, там лежит .htaccess файл, где заданы инструкции не кэшировать файлы внутри. Других идей, к сожалению, пока что нет.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #3 Алексей » 29.12.2012, 14:07

VEG:Как я понимаю, все стандартные картинки форума отдаются с нормальным сроком истечения?
Предпологал сначала, что только мои картинки, оказалось, что все картинки не отдаются с нормальным сроком истечения - и только картинки, почему-то. Остальные файлы кешируются нормально - как указано в .htaccess.

Похоже, что-то не то с настройками сервера на хостинге.

Для проверки, на хостинге закинул в папку ./work два файла - файл картинки и php-файл, который подключает эту картинку к блоку div в качестве фона. При запросе к php-файлу и, следовательно, картинке, сервер возвращает заголовок Expires в ответе только у php-файла. У картинки заголовка Expires в ответе нету. Те же файлы скопировал себе на Denwer, в результате Expires в ответе возвращаются у обоих файлов и срок устанавливается корректно - какой указан в .htaccess.

Разве можно сервер на хостинге настроить, чтобы он игнорировал только некоторые директивы в .htaccess? И какие это настройки?

Добавлено спустя 1 час 4 минуты 49 секунд:
Ответ от хостера:
Это связано с тем что контент на сервере отдается Nginx а не Apache
Настроить время кеширования можно только через запрос таких настроек в поддержку.
Алексей M
Автор темы
Аватара
Репутация: 19
С нами: 11 лет 6 месяцев


Вернуться в Поддержка 1.x