From: "Greg Ames" <[EMAIL PROTECTED]> Sent: Wednesday, September 26, 2001 3:44 PM
> Greg Ames wrote: > > > > Ryan Bloom wrote: > > > > > > On Tuesday 25 September 2001 03:32 pm, Greg Ames wrote: > > > > > > Yeah, that should fail. Why isn't that an absolute path? > > > > That's the bug. We're not mapping the subrequest URI into a path in > > this case. > > OK, this takes care of it. mod_rewrite's translation phase > (hook_uri2file) uses r->filename all over the place, and leaves it set > even if no rules apply. A recent change to ap_core_translate bails out > if it's a subrequest and r->filename is already set. I don't know what > the intention of this change was, and I don't plan on rewriting > mod_rewrite, but I will test this little patch more thoroughly. > > Greg > > Index: server/core.c > =================================================================== > RCS file: /cvs/apache/httpd-2.0/server/core.c,v > retrieving revision 1.61 > diff -u -d -b -r1.61 core.c > --- core.c 2001/09/19 05:52:42 1.61 > +++ core.c 2001/09/26 20:44:48 > @@ -2555,8 +2555,6 @@ > /* XXX We have already been here, or another module did the work > * for us. At this moment, we will enable only file subrequests. > */ > - if (r->main && r->filename) > - return OK; -1 on this patch!!! If this is a subrequest, we DON'T WANT TO MUCK THIS UP! It isn't subject to all this remapping. [Think sub_req_lookup_file.] If someone munges filename, then they've broken things. My question is what changed that introduced this bug. And, why rewrite is getting tangled in it. Please spend a bit more time on this, and I will join you in the effort. mod_rewrite has been a great source of joy and constranation for admins for many years - I'm really not surprized it might have some broken behavior, and the time to clean it up is before GA, when we can tell the users what to expect, rather than after when it 'bites' them. Bill
