добавить тег "EXPIRE" в заголовок при показе контента - PullRequest
1 голос
/ 28 июня 2011

ли добавление тега "EXPIRE" в заголовок заставляет браузер кэшировать содержимое до истечения времени?
Как это сделать при обслуживании статического изображения / css / js в PHP?

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Вы можете использовать функции header и gmdate:

// Actualy date in GTM 0
header('Date: '.gmdate('D, d M Y H:i:s \G\M\T', time())); 

// Las modify date (now, for example)
header('Last-Modified: '.gmdate('D, d M Y H:i:s \G\M\T', time())); 

// The expire time (one hour in the future) <-- sorry my english!!!
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); 

Обязательно отправляйте заголовки перед отправкой данных, например:

// GOOD!
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600));
echo "content";

// BAD!
echo "some content";
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600));

Если вам нужно сгенерировать контент перед отправкой заголовка, вы можете использовать функции ob:

ob_start();

echo "content";
echo "more content";


header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600));
ob_end_flush();
0 голосов
/ 28 июня 2011

Для статического контента используйте конфигурацию веб-сервера.Для apache это .htaccess, для iis это web.config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...