У меня есть скрипт PHP для загрузки файла KML с файлового сервера. Часть загрузки работает, но загруженный файл является более старой версией файла, хранящегося на файловом сервере.
Я попытался установить заголовки Cache-Control и Pragma, но более старая версия файла доставляется при загрузке файла с использованием PHP-URL. Я попробовал это в нескольких браузерах и подтвердил, что последняя версия файла KML находится на файловом сервере.
Что мне не хватает?
РЕДАКТИРОВАТЬ: Даже изменение имени файла в заголовке (‘Content-Disposition .. не меняет имя файла загруженного файла. Я получаю точно такой же старый файл во всех 3 браузерах, которые я пробовал. Это начинает выглядеть как проблема конфигурации веб-сервера ?
<?php
//Update the date in the filename with new releases
header('Content-Type: application/vnd.google-earth.kml+xml kml');
header('Content-Disposition: attachment; filename="KML Repository (2017-05-31).kml"');
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
readfile("KML Repository (2017-05-31).kml");
?>
Похоже, проблема в том, что наш внутренний прокси-сервер по какой-то причине кеширует файл. Используя прямое интернет-соединение, обновленный файл загружается. Интересно, есть ли способ дать сигнал прокси-серверу, чтобы разрешить загрузку новой версии.
Других решений пока нет …