LINUX.ORG.RU

Кэширование в lighttpd

 


1

1

Доброго времени суток! Есть сервер lighttpd, установлен на NAS DLINK-325. На нем сайт. На странице сайта, с помощью JS я подгружаю XML-файл, который лежит рядом. Это карты яндекса, а xml - точки для карт. Открываю страницу, точки ставятся корректно, потом правлю xml, открываю опять, а на карте те же точки. Пробовал очищать кэш браузера, пробовал другой браузер, который ни разу на страницу не заходил - результат тот же. Как я понял сервер кэширует этот xml-файл. Вопрос, как очистить кэш, если я конечно прав по поводу кэширования.



Последнее исправление: alex870 (всего исправлений: 1)

Ну у lighttpd был модуль mod_mem_cache, но, вроде, он корректно обрабатывал mtime файла. Можете попробовать в конфиге посмотреть, включён ли он, выключить.

Хотя, возможно, что у вас там какой-нибудь proxy стоит (может в прозрачном режиме)...

А xml-файл лучше попробовать скачивать не другим бразером, а ″wget --server-response″, может на самом DLINK'е попробовать запустить wget, чтобы точно убедится, что отвечает lighttpd.

mky ★★★★★
()
Ответ на: комментарий от mky

Спасибо за советы. Но у меня такого модуля вообще нет (. В любом случае, пока настраивал генерацию xml с помощью php - обошелся простым переименованием файлов. Теперь сделал php страницу, так что всё по идее должно работать, но ... Столкнулся с другой проблемой - php-страница выводит, в результате своей работы xml-документ с точками для карты яндекса. XML создается корректный. Если открыть страницу php в браузере и сохранить результат как xml, а потом скормить его функции yMapsML - точки ставятся, но если скармливать саму страницу php, а не её сохраненную копию возникает неизвестная ошибка xml. Если разместить php на другом сервере - всё работает. Грешу на настройки lighttpd, но какие...?

alex870
() автор топика
Ответ на: комментарий от Deleted

Ну да, страница работает, если её в браузере открыть, xml создается корректный. Уже разобрался. Опять из-за этого кэширования. Переименовал файл xml.php в xml1.php и всё заработало. Он (сервер) где-то его сохранил и главная страница постоянно (видимо) тягала ту сохраненную копию с ошибкой в коде. А когда открываешь браузером xml.php открывается всегда актуальный (обновленный) вариант страницы. Как это победить - не знаю. Сейчас на сервере лежат два абсолютно идентичных файла (внутри конечно) xml.php и xml1.php. Указываю JS первый файл - ошибка, второй - нормально работает. В xml.php раньше была ошибка, которую потом исправил, а сервер его помнит старым :).

alex870
() автор топика
Ответ на: комментарий от Deleted

У меня параметры и так меняются всегда (при каждом вызове), в них передаются координаты видимой части карты и её масштаб. Или я не правильно понял совет? Обратил внимание, что если ошибок в xml нет, то все изменения корректно отображаются, а если новый вариант с ошибкой (ошибка парсера) то грузится старая версия (без ошибок, но и без изменений). И даже если ошибку исправляю и xml становится корректный, то спасает только переименование файла, чтобы начал грузится новый корректный xml. Вообще не могу понять почему. Благо сейчас xml «вылизал». Его (xml.php) больше трогать не буду, но интересно же, почему так происходит :).

alex870
() автор топика
Ответ на: комментарий от alex870

Да, вот ещё что. Этот файл xml.php грузится скриптом Яндекс-API. Там даже сессия Яндекса. А простое открытие xml.php в браузере (хоть с параметрами, хоть без) всегда проходит без проблем. Может Яндекс виноват, видя ошибку он достает из кэша последнюю мою xml-ку. Но это вообще фантастика ).

alex870
() автор топика
Ответ на: комментарий от Deleted

Ну в смысле параметры всегда разные, точность координат до 8-го знака, так что совпадение маловероятно. типа 'xml.php?long=«'.$long.'»&lat=«'.$lat.'»' Яндекс бы упал, если бы все геозапросы кэшировал :) (ИМХО конечно).

alex870
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.