|
|||||||||||
|
DO NOT REPLY [Bug 14648] - mod_rewrite does not proxy included requests
From: <bugzilla(at)apache.org>
Date: Wed Nov 27 2002 - 15:08:59 EST
mod_rewrite does not proxy included requests
mod_dir makes subrequests for each of its potential index file names until it finds one to return. Line 165 of mod_dir.c is this: if (rr->status == HTTP_OK && S_ISREG(rr->finfo.st_mode)) { So, for mod_dir to return an index file the subrequest has to be HTTP_OK and it must be a regular file. This works fine with the unpatched mod_rewrite, because it will return HTTP_OK and the file will be there -- even if the server is going to end up proxying it in the end. But, if you patch mod_rewrite then you'll still get the HTTP_OK, but rr->filename will have been changed to start with "proxy:", so S_ISREG() will fail. Which leads to this solution: change the call to ap_sub_req_lookup_uri on line 163 of mod_dir.c to ap_sub_req_lookup_file. ap_sub_req_lookup_file doesn't do the URI translation, so it skips mod_rewrite in the subrequest. But then mod_dir still does an internal redirect, which in turn *does* do the URI translation, so everything works out in the end. With these changes both mod_include and mod_dir do the right thing when they are dealing with a file proxied via mod_rewrite+mod_proxy. I'll attach a patch which changes both parts. To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org For additional commands, e-mail: bugs-help@httpd.apache.org Received on Wed Nov 27 20:07:54 2002 This archive was generated by hypermail 2.1.8 : Wed Aug 23 2006 - 16:44:09 EDT |
||||||||||
|
|||||||||||