Acabei mod_mem_cache
de ativar um servidor Apache2/PHP5 executando um aplicativo personalizado e fiquei horrorizado com o resultado. De repente, as imagens erradas estavam sendo veiculadas e notei que uma vez uma solicitação de uma página HTML exibiu uma página CSS! O que poderia estar causando isso? A configuração é a seguinte:
Memória CacheEnable / MCacheSize 204800 CacheDefaultExpire 3600 CacheIgnoreHeaders Set-Cookie MCacheMinObjectSize 100 MCacheMaxObjectSize5242880 MCacheRemovalAlgorithm LRU
Responder1
Internamente em mod_cache e mod_*_cache, as chaves de pesquisa são somas de verificação bastante longas, do URI canônico e de quaisquer parâmetros Vary: (para conteúdo negociado). É incrivelmente improvável que essas chaves de pesquisa colidam, portanto, se você estiver obtendo respostas incorretas para a configuração acima, isso parecerá um bug.
Sou um dos autores dos módulos de cache e se você pudesse enviar-me os detalhes da solicitação ([e-mail protegido]) e[e-mail protegido], ou registre um bug com alguns detalhes que podemos usar para reproduzir -http://httpd.apache.org/bug_report.html- podemos resolver isso.
Ou sinta-se à vontade para publicá-los aqui e resolveremos o problema.
Responder2
Eu encontrei o problema. Eu estava usando o mod_rewrite para reescrever URLs para arquivos que não existiam para um script PHP que enviaria esses URLs para o módulo apropriado. Como todas essas URLs virtuais estavam sendo reescritas na mesma URL, o mod_cache estava ficando confuso. Para resolver isso, alterei a seguinte parte da minha configuração do Apache:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /dispatch.php
Para:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /dispatch.php/$1
E agora o cache parece funcionar perfeitamente!