Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
Панель управления
  • Русский
  • Українська
  • UAH
  • USD
  • RUB
  • EUR
  • 0-800-307-307  Горячая линия
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

Хостинг. Изменить стандартный Expires, без изменений скриптов


rx8
6 лет
0
Изменить стандартный Expires, без изменений скриптов

Здравствуйте.
По умолчанию для всех отдаваемых PHP страниц, хостингом (?) генерируется Expires: Thu, 19 Nov 1981 08:52:00 GMT - Скриншот сделан СЃ помощью Lightshot
Подскажите, можно ли настроить на хостинге, без внесения изменений в скрипты, чтобы все динамические страницы отдавались не со стандартным Expires: Thu, 19 Nov 1981 08:52:00 GMT, а текущая дата и текущее время +3600, или хотя бы текущая дата и текущее время?

toxi
6 лет
0

То есть Вам нужно отключить кеширование либо включить?

rx8
6 лет
0

Вы правы, мне нужно включить кеширование, но сделать это по возможности сразу для всех сайтов (или одного сайта), без внесения изменений в скрипты.

toxi
6 лет
0

В панели управления переходите в меню "Мои сайты" - > "Выбираете нужный сайт" - > Настройки сайта -> закладка "Основные настройки" и находите пункт "Кеширование" и выбираете нужное количество дней/недель/месяцев.

rx8
6 лет
0

В подсказке к этому пункту сказано что это для статических файлов (Укажите период, на который статические файлы (расширения которых указанны в поле "Статические файлы") будут кешироваться в браузере посетителей. Рекомендуемый период составляет 1 неделя и больше.).
Будет ли оно работать для страниц генерируемых динамически (PHP)?

eugen
6 лет
0

По умолчанию для всех отдаваемых PHP страниц, хостингом (?) генерируется Expires © info8814

Нет, не хостингом. Заголовок Expires для динамических страниц не отдается. Если он есть - значит добавляется самой cms или в файле .htaccess
Будет ли оно работать для страниц генерируемых динамически (PHP)? © info8814

Нет, эта настройка работает только для статики.
Вы уверены, что нужно отдавать заголовок для всех запрашиваемых страниц? Если на сайтах есть авторизация пользователей - могут быть накладки. Расскажите, в чем цель изменений, возможно ее другим способом достичь можно.

rx8
6 лет
0

Задачу поставили seoшники - "Настроить expire-date всех страниц или статического контента. Дата должна отдаваться равной текущему моменту времени плюс 3600 секунд, для обеспечения кэширования статических элементов на один час".
В самой cms генерируются хедеры только при генерации картинок и xml. Для обычных страниц используется только как переадресация (location). Т.е. нигде в скриптах не указывается Expires.
Можно конечно залезть в скрипты и там все настроить, но это крайний вариант, а пока я в поисках более простого универсального решения.

eugen
6 лет
0

Настроить expire-date всех страниц или статического контента © info8814

Первым делом нужно решить: всех страниц или статики. Уточните у сеошников. Скорее всего имелось в виду все-таки кеширование статики для общего ускорения работы сайта - для этого достаточно включить кеширование в настройках сайта.

rx8
6 лет
0

всех страниц или статики. Уточните у сеошников. © eugen

Уточнил. Всех информационных страниц + статики (картинки, скрипты, стили).
По картинкам тоже есть нюансы, картинки генерируются (превью в нескольких размерах + защита watermark) из загруженных пользователем при первом обращении к картинке. Т.е. создается кеш картинок. При этом раз в несколько недель этот кеш чистится (ограничение хостинга на количество размещаемых файлов).
И если с картинками средствами хостинга можно это сделать на время жизни кеша, то как аналогичное сделать с информационными страницами пока не нашел.

rx8
6 лет
0

Может можно через htaccess установить expires? Просто с картинками и другими файлами это вроде можно сделать без особых проблем. Так может быть можно такое сделать и с динамическими страницами (php) + чпу (modrewrite)?

eugen
6 лет
0

Можно. Чтобы для всех страниц отдавался заголовок Expires с текущим временем + 1 час нужно добавить в .htaccess:

ExpiresActive On
ExpiresDefault "access plus 1 hour"

Но могут быть ньюансы. Например, если у Вас магазин: клиент ложит товар в корзину, но при обновлении страницы корзины не видит, потому что страница на час в кеше. Или если блог: пользователь авторизовался, но страница из кеша ему все еще показывает, что он не авторизован. Поэтому обычно на сайтах с присутствием хоть какого-то интерактива Expires на динамических страницах не используется. В общем, подумайте, подходит ли это в Вашей ситуации перед включением кеширования.

rx8
6 лет
0

Получается, единственный способ при любом минимальном интерактиве, это генерация espires на уровне php-скриптов.
Спасибо, что помогли мне развеять сомнения. А ведь так хотелось, чтобы была какая-нибудь волшебная кнопка "сделать всю работу через htaccess" :)

rx8
6 лет
0

Как, то оно совсем не хочет работать через htaccess. Указываю стандартные директивы:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 months"
ExpiresByType image/jpeg "access plus 1 months"
ExpiresByType image/png "access plus 1 months"
</IfModule>
А в ответ тишина - Lightshot — программа для скриншотов
Если указывать через панель управления хостингом (кеширование статических элементов), то все ОК. А тут засада. Не подскажете что я сделал не так или почему оно не работает?

eugen
6 лет
0

Отдавать заголовок Expires скриптами или из .htaccess - без разницы, эффекты будут те же.
В .htaccess будут работать правила Expires и Rewrite только для динамического контента. Все файлы, которые указаны в списке статических в настройках сайта отдаются nginx, до apache запросы не доходят и соответственно правила expires и rewrite для них не отрабатывают.

rx8
6 лет
0

Ясно. Спасибо. Буду пробовать.

Участвовать в общении на этом форуме могут только зарегистрированные пользователи.