Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Буква A означает, что заданное количество секунд следует прибавить к текущему времени. Буква M – к дате создания/модификации файла.
То есть, чтобы файлы типа text/html сохранялись в кэше в течение часа, директива должна выглядеть так:
ExpiresByType text/html A3600
Время может быть задано и в более «читабельной» форме, например:
ExpiresByType text/html "access plus 1 hours"
Если такая форма записи представляется вам более удобной, обратитесь за подробным описанием к документации на Apache. Никаких дополнительных преимуществ эта форма записи не даёт.
Директива ExpiresDefault описывает, как рассчитывать время для документов, типы которых не были описаны явно с помощью ExpiresByType.
Предостережения
Стоит сделать два предостережения.
Во-первых, ExpiresByType – очень мощное средство. Не забывайте, что большинство CGI-сценариев выдают тип документа text/html. Используя её, следует чётко понимать, что вы описываете кэширование для любого рода информации определённого MIME-типа. Представляете недоумение пользователей чата, если его страницы будут кэшироваться на полчасика?
«Привязаться» к конкретному расширению файла можно с помощью всё тех же блоков <Files> и <FilesMatch>.
Во-вторых, не злоупотребляйте директивой ExpiresDefault. Помните, что её действие распространяется только на файлы, которые не были описаны директивой ExpiresByType. Может показаться, что достаточно разместить в .htaccess директиву:
ExpiresDefault A3600
и она обеспечит часовое кэширование и для HTML-документов, и для различных картинок, и для zip-, и для mp3-файлов, и для всего остального. Это действительно так, если ранее не применялась ни одна директива ExpiresByType. Вы уверены, что администратор сервера не написал где-нибудь в недрах httpd.conf что-то вроде этого?
ExpiresByType image/gif "access plus 1 weeks"
ExpiresByType image/jpeg "access plus 1 weeks"
ExpiresByType image/png "access plus 1 weeks"
Если это так, то ваша директива ExpiresDefault не окажет никакого влияния на файлы перечисленных типов, ведь для них правила уже оговорены.
Поэтому старайтесь явно описывать каждый MIME-тип.
Итого
Давайте подведём некоторые итоги и просуммируем сказанное. Удачной мне представляется следующая конфигурация:
1: Options +Includes
2: AddHandler server-parsed .shtml
3: AddType text/html .shtml
4: AddHandler server-parsed .lshtml