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 2009/07/25 21:37:47 UTC

DO NOT REPLY [Bug 47580] mod_cache sends 200 response instead of 304

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


Ruediger Pluem <rp...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID




--- Comment #1 from Ruediger Pluem <rp...@apache.org>  2009-07-25 12:37:43 PST ---
This is a bug in php or more specific in the httpd module version of php. In
sapi_apache2.c::php_apache_request_ctor (line 463 for php 5.3.0) it sets
r->no_local_copy to 1 for an unknown reason which causes to return a 200
instead of a 304. If you comment this line everything works as expected by you.
httpd itself only set this struct member to 1 for

subrequests
error pages

in both cases it is not desired that even conditional requests return a 304.
For subrequests as they only deliver fragments of a page that is processed
internally and for error pages this is obvious.
In order to fix your problem do one of the following things:

1. Use the CGI/FASTCGI version of PHP.
2. Comment the line in the PHP code as described above (no idea which further
sideeffects this has as I am not a php developer).
3. Open a bug report at bugs.php.net to get this fixed.

-- 
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