mod_mem_cache выдает неправильный контент!

mod_mem_cache выдает неправильный контент!

Я только что включил mod_mem_cacheна сервере Apache2/PHP5 запущено пользовательское приложение, и был в ужасе от результата. Внезапно стали отображаться не те изображения, и я заметил, что однажды запрос на страницу HTML вместо этого отображал страницу CSS! Что может быть причиной этого? Конфигурация следующая:

CacheEnable память /
MCacheSize 204800
CacheDefaultExpire 3600
CacheIgnoreHeaders Set-Cookie
MCacheMinObjectSize 100
MCacheMaxObjectSize 5242880
MCacheRemovalAlgorithm LRU

решение1

Внутри mod_cache и mod_*_cache ключи поиска представляют собой довольно длинные контрольные суммы канонического URI и любых параметров Vary: (для согласованного контента). Крайне маловероятно, что эти ключи поиска будут конфликтовать, поэтому если вы получаете неверные ответы для указанной выше конфигурации, это похоже на ошибку.

Я один из авторов модулей кэширования, и если бы вы могли отправить мне детали запроса ([email protected]) и[email protected], или отправьте сообщение об ошибке с некоторыми подробностями, которые мы можем использовать для ее воспроизведения -http://httpd.apache.org/bug_report.html- мы можем этим заняться.

Или смело размещайте их здесь, и мы решим проблему.

решение2

Я нашел проблему. Я использовал mod_rewrite для перезаписи URL-адресов файлов, которые не существовали, в PHP-скрипт, который отправлял эти URL-адреса в нужный модуль. Поскольку все эти виртуальные URL-адреса перезаписывались в один и тот же URL-адрес, mod_cache путался. Чтобы решить эту проблему, я изменил следующую часть конфигурации Apache:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /dispatch.php

К:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /dispatch.php/$1

И теперь кэширование, похоже, работает идеально!

Связанный контент