Файл кэширования сайта, нужно это остановить - PullRequest
5 голосов
/ 11 октября 2011

У меня есть скрипт, который генерирует новый CSV-файл (в моем веб-каталоге) каждые полчаса, он заменяет оригинальный и помещает новый на его место с тем же именем файла, с которым связан файл на моем веб-сайте..

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

Первая мысльчтобы убедиться, что скрипт по-прежнему работает правильно, и после тестирования я могу подтвердить, что это так.

Затем я очистил кеш и историю загрузок в Chrome и попытался загрузить ее снова, на этот раз она работала как задумано.

Я запускаю это на облачном сервере rackspace под управлением Ubuntu и Apache,Я предполагаю, что есть некоторые настройки, которые мне нужно перенастроить, чтобы решить эту проблему.Может ли кто-нибудь, пожалуйста, указать мне в правильном направлении.

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 11 октября 2011

Несколько грязное решение - добавить в скрипт сценарий, который позволяет загружать файл случайным числом (или, возможно, отметкой времени) в качестве параметра для предотвращения кэширования.

Например:

www.example.com / download.php? File = my.csv & rand = 123456789

1 голос
/ 11 октября 2011

Второй пример на этой странице показывает, как отключить кэширование на многих клиентах и ​​прокси.Вы должны использовать что-то вроде этого.

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

С этим решением вы можете кэшировать страницу, где находится ваша ссылка.В любом случае ссылка будет работать.

...