Настройка заголовка HTTP Expires

12
Futuris
На сайте с 05.07.2014
Offline
74
1404

Здравствуйте! Пытаюсь настроить функцию Expires в заголовках и нахожу в сети советы как настроить кеширование в .htaccess модулем mod_expires.c. Тут у меня возникает вопрос - если конфигурация сервера такова, что фронтенд обрабатывается Nginx, какой смысл писать директивы в .htaccess? Или я просто что-то не так понимаю? Подскажите пожалуйста как это правильно делается?

rustelekom
На сайте с 20.04.2005
Offline
522
#1

Вполне логичный вывод сделали, но не закончили - нужно искать директивы nginx для того, чтобы он отдавал правильные заголовки. К примеру, вот как тут показано: https://habrahabr.ru/company/mkechinov/blog/105716/

SSD VPS, SSD хостинг и выделенные серверы в Германии или РФ, FTP хранилища, регистрация доменов и SSL сертификаты ( https://www.robovps.biz/ ) Контакты: Telegram ( https://t.me/rustelekom_bot )
Futuris
На сайте с 05.07.2014
Offline
74
#2
rustelekom:
нужно искать директивы nginx для того, чтобы он отдавал правильные заголовки. К примеру, вот как тут показано: https://habrahabr.ru/company/mkechinov/blog/105716/

Спасибо, только в моей конфиге я не вижу ничего про expires, а тестовый сервис утверждает, что у меня истекла дата заголовков. Где это может быть прописано?

png expires.png
Evas EvaSystems
На сайте с 31.05.2012
Offline
104
#3

директива у nginx называется expires, задать её нужно в соответствующем location

Например, для статических данных


location ~* ^.+\.(jpg|jpeg|gif|png|ico|bmp|swf|rar|lzma|exe|css|js|woff)$ {
......
expires max;
}

Ещё можно добавить

add_header Cache-Control public;

Более подробно смотрите в документации nginx

P.S. - возможно, что у вас она просто не задана вовсе...

Системный администратор Linux. Настройка, сопровождение и оптимизация серверов. Отзывы - searchengines.guru/ru/forum/1017473
rustelekom
На сайте с 20.04.2005
Offline
522
#4

Expires может задаваться в коде html или php файле.

Futuris
На сайте с 05.07.2014
Offline
74
#5

А после изменений в конфигах Nginx его нужно перезапускать?

rustelekom
На сайте с 20.04.2005
Offline
522
#6
Futuris:
А после изменений в конфигах Nginx его нужно перезапускать?

А то ж. Конечно. Конфиг можно релодом перечитать.

Futuris
На сайте с 05.07.2014
Offline
74
#7
rustelekom:
А то ж. Конечно. Конфиг можно релодом перечитать.

Семён Семеныч, а я думаю что оно не работает :-)))

rustelekom
На сайте с 20.04.2005
Offline
522
#8
Futuris:
Семён Семеныч, а я думаю что оно не работает :-)))

Гм, релод? В доках заявлено по идее, другое дело, что только для новых запросов (для тех которые уже запрошены браузерами, изменения не будут применены): http://nginx.org/ru/docs/beginners_guide.html

Ну, на крайний случай, можно и рестарт сделать.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#9

Cache-Control перебивает Expires, почитайте

https://habrahabr.ru/post/253121/

и

https://habrahabr.ru/post/203548/

https://habrahabr.ru/post/204464/

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Futuris
На сайте с 05.07.2014
Offline
74
#10
Оптимизайка:
Cache-Control перебивает Expires, почитайте

У меня стоит задача прописать срок жизни кеша, чтобы Page Speed Insights не ругался. Если я правильно понял, теперь это лучше определять не при помощи Expires, а с помощью max-age ?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий