Вопрос по apache, http, php, performance – Настройка HTTP истекает заголовки, используя PHP и Apache

51

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

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

Ваш Ответ

3   ответа
2

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

Я также хотел бы изучить использование mod_expires, прежде чем перейти к альтернативе PHP.
0

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

<?php
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
?>
Что это значит?
110

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

header('Expires: '.gmdate('D, d M Y H: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

Обратите внимание, что вы можете просто использоватьgmdate('r') который обеспечивает действительное представление RFC 2822.
Так что я прав, полагая, что к .flv, .ico и т. Д. Автоматически будут добавлены правильные заголовки? очень круто Tom
ИспользоватьHeader вам нужны mod_headers. Например, бегиa2enmod и введитеheaders затем перезапустите Apache.
Добавление заголовка Cache-Control & quot; public & quot; = & GT; Эта строка дает мне 500 внутренняя ошибка сервера.
@noobcode У меня точно такая же проблема. Как ты решил это, пожалуйста?

Похожие вопросы