Завершение HTTP-уставок HTTP с использованием PHP и Apache

Как настроить истечение заголовков в PHP + Apache? В настоящее время я использую auto_prepend для работы с ресурсами gzipped, но я также хотел бы увеличить кеш HTTP.

Как я могу настроить их?

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

header('Expires: '.gmdate('D, d MYH:i:s \G\M\T', time() + (60 * 60))); // 1 hour 

Ваш второй выбор – создать файл .htaccess или изменить конфигурацию httpd. В среде общего хостинга изменение вашего файла .htaccess довольно распространено. Для этого вам нужно знать, поддерживает ли ваш сервер mod_expires , mod_headers или и то, и другое. Самый простой способ – просто проб и ошибок, но некоторые серверы Apache настроены таким образом, чтобы вы могли просматривать эту информацию на странице / server-info. Если на вашем сервере есть как mod_expires, так и mod_headers, и вы хотите установить срок действия статических ресурсов, попробуйте поместить его в файл .htaccess:

 # Turn on Expires and set default to 0 ExpiresActive On ExpiresDefault A0 # Set up caching on media files for 1 year (forever?) <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$"> ExpiresDefault A29030400 Header append Cache-Control "public" </FilesMatch> 

Для других комбинаций и других примеров см .: http://www.askapache.com/htaccess/speed-up-your-site-with-caching-and-cache-control.html

Этот модуль Apache может помочь: http://httpd.apache.org/docs/2.0/mod/mod_expires.html

Вы что-то пробовали?

 <?php header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); ?>