mod_mem_cache exibindo o conteúdo errado!

mod_mem_cache exibindo o conteúdo errado!

Acabei mod_mem_cachede 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!

informação relacionada