Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
527 29.04.2005 12:30 / 29.04.2005 12:32
Столкнулся с некоторой проблеммой.@main[] ^rusage[start] $response:content-type[ $.value[text/html] $.charset[$response:charset] ] # задаем дату устаревания $response:expires[^date::now(+1)] # а тут начинается кэширование ^my_cache{ ^use[engine.p] $engine[^engine::engine[2]] # тут собственно генерится код страницы $page[^engine.build_object[^object_id[]]] # проверка ^if($engine:HTTP_STATUS == 404){^cache(0)} # и вот тут выдаем время обновления страницы # оно берется из БД и доступно из поля объекта $engine:LAST_MODIFIED # но вот проблема в чем! # когда кэш запомнит страницу, то этот заголовок уже не выдается, # т.е. в принципе всё как в доке написано, кэшируется выдача. # но мне нужно выдавать этот заголовок # если вынести $response:Last-Modified за пределы кэша, # то будет ругань на несозданый обект $engine в момент когда будет отдавать страницу из кэша # а если вынести # ^use[engine.p] # $engine[^engine::engine[2]] # из кэша то тогда будет работать медленее! $response:Last-Modified[$engine:LAST_MODIFIED] # выдаем страницу, если была 404 ошибка то $page будет заведомо пустой $page } ^rusage[finish]Как правильнее поступить?