Sander Striker wrote:
> [EMAIL PROTECTED] wrote:
>
>> The problem seems to be, that the proxied backend server that is
>> cached via mod_disk_cache originally
>> delivers HTTP status 301 and the Location
>> http://www.beach-clothing.com/where-to-buy/, but once cached
>> mod_disk_cache delivers HTTP status 200 instead of 301 (but correctly
>> redelivering the Location header).
>> I have not proved this for myself so far, but this seems the problem
>> to me.
>
>
> This wouldn't surprise me one bit. The 2.1 branch has seen quite a bit
> of churn in this
> area.
>
> Any chance you could give 2.1 a go and see if that works correctly?
Sorry not enough time right now to check this on the living object. But I think
what
is missing is something like the following (untested) patch (done against
2.0.54, but
code in trunk is the same at this part):
--- mod_cache.c.orig 2005-04-11 17:47:03.000000000 +0200
+++ mod_cache.c 2005-04-22 23:43:19.000000000 +0200
@@ -220,6 +220,8 @@ static int cache_out_filter(ap_filter_t
ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, r->server,
"cache: running CACHE_OUT filter");
+ /* restore status of cached response */
+ r->status = cache->handle->cache_obj->info.status;
/* recall_headers() was called in cache_select_url() */
cache->provider->recall_body(cache->handle, r->pool, bb);
I found no place in the code where the saved status code is restored to the
response,
so I think this could be the right place to do so.
Could somebody crosscheck who is more familar with the code? Sander? Justin?
>
> Sander
Regards
R�diger