You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2010/02/02 15:21:12 UTC

DO NOT REPLY [Bug 32147] provide finer grained control over enabling/disabling cache logic

https://issues.apache.org/bugzilla/show_bug.cgi?id=32147

--- Comment #3 from Kai Krakow <hu...@googlemail.com> 2010-02-02 06:20:57 UTC ---
Is this going to be backported or available as a single patch I could try to
apply to 2.2.14 sources?

We have a problem where using mod_cache and mod_rewrite together and enabling
Expires header in a php application, mod_cache always returns the same content
on subsequent requests no matter which URL was requested from apache. mod_cache
seems to only see the index.php in it's cache while rewrite rules route all
URLs through this file. Example setup:

RewriteEngine on
RewriteRule ^(favicon\.ico|robots\.txt) - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

On the first request (cold cache) when we request /real/url.html from the
server it returns the right content. On the next request it serves the content
from cache as intended. Next we request /another/url.html and the cache simply
servers the content of the first url without going through the index.php (which
uses PATH_INFO to extract the URL data).

I think this is because mod_cache only hashed "index.php" as the URL which had
in both cases no query string and it thus handles both different requests as
equal. As far as I understood this should be solvable by using
"CacheQuickHandler off".

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org