XAMPP кэширует .html файлы, работающие как PHP - PullRequest
1 голос
/ 10 апреля 2010

На моем Mac OS 10.6.3

установлена ​​XAMPP (последняя версия)

Я добавил следующее к .htaccess , потому что я хочу, чтобы .html интерпретировался как PHP.

AddType application/x-httpd-php .php .html

Проблема в том, что конфигурация XAMPP по умолчанию, кажется, кэширует .html файлы как статические ... поэтому, даже если внутри вызываются операторы PHP (например, 'echo time ()' в index.html отображает динамический вывод) ... фактический файл кэшируется.

Когда я вносю изменения в файл .html, мне приходится перезапускать Apache, чтобы загрузить самые новые изменения.

Глядя на httpd.conf, похоже, что он загружает следующие моды кеша.

LoadModule file_cache_module modules/mod_file_cache.so
LoadModule cache_module modules/mod_cache.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so

Есть идеи, как реализовать систему, в которой она проверяет временную метку файла перед загрузкой из кеша?

Спасибо!

1 Ответ

1 голос
/ 10 апреля 2010

Боюсь, у меня нет ответа относительно конфигурации XAMPP, но я могу предложить включить заголовки PHP.

header('Content-type: text/html; charset=utf-8');
header('Expires: Mon, 20 Dec 1998 01:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').'GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');

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

...