Назад | Перейти на главную страницу

Как использовать mod_rewrite для использования кэшированной копии страницы, если она доступна, иначе запустить динамический скрипт?

Я хотел бы сохранить сгенерированный вывод сценариев php в структуру папок, которую apache сначала проверяет.

/about/index.php <- dynamic should be rendered only if cache below does not exist
/contact/index.php

/public/about/index.html  <- cached should be rendered first if exists
/public/contact/index.html

Как мне создать набор RedirectCond / RedirectRule, чтобы сделать это за меня?

Пусть веб-сайт указывает на каталог кеша. Установите правило, согласно которому, если файл не существует, перезаписывайте его в «динамический» исходный каталог. Динамический скрипт также должен будет отвечать за запись в каталог кеша (при условии, что вы хотите, чтобы он был кеширован). Что-то еще должно отвечать за удаление устаревших записей из кеша (задание cron и т. Д.).

Лучшей идеей было бы поставить перед Apache реальный кэширующий обратный прокси. Можно использовать Apache в качестве обратного прокси, но есть более подходящие инструменты, такие как nginx или varnish.