Greg, this isn't an error, and the early "Success" was a catastrophic failure for many cases.
If a user of 1.3/earlier 2.0 copied index.html to index.html.bak, and added a new paragraph to index.html, then queried index.html ... index.html.bak was returned, since the file was _smaller_. Any extension that A) was not requested, or B) is not negotatied is not eligable to be served. [There is a weakness. We need to evaluate the exception list by component, right now we simply strcmp. There is a note in status to that effect. E.g. requesting index.bak -should- match index.html.bak, but it wouldn't. Although we can test -in-order-, we simply need to check that each extension that didn't match was an extension of the requested filename.] Bill ----- Original Message ----- From: "Greg Ames" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, September 28, 2001 4:25 PM Subject: .asis handler isn't driven > www.apache.org was recently changed so that www.apache.org/search.html > became search.html.asis . > That document contains a 301 Moved Permanantly response, referring to > http://search.apache.org/ . > > It works fine with 2.0.24, but fails with the current HEAD with: > > [Thu Sep 27 13:49:14 2001] [error] [client 32.97.136.236] Negotiation: > discovered file(s) matching request: /www/www.apache.org/search.html > (None could be negotiated). > > daedalus's config file contains: > > AddHandler send-as-is asis > > The log entry is created by read_types_multi() in mod_negotiation, > called by its type checker phase. Shortly before this log entry, there > is a loop which attempts to match prefixes of directory entries against > "exceptions" discovered by mod_mime. The closest we ever come to a > match in this loop is comparing "search.html" from the dir to > "search.asis" from the exceptions list. There is some code that notices > that sub_req->handler and ->content_type are non-null, but that isn't > enough to make it happy. We eventually return HTTP_NOT_FOUND from > read_types_multi(), so the asis handler never gets a shot the request. > > I suspect mod_mime more than mod_negotiation, because the changes to the > latter in the type checker seem pretty innocent since 2.0.24. But I > don't know how this interface is supposed to work. > > After read_types_multi() runs a subrequest for search.html.asis, > sub_req->handler == "send-as-is" and sub_req->content_type == > "text/html". I would think that's about all the type checking phase > needs, and read_types_multi() should say > "OK, mod_mime knows the full scoop for this variant, so I should be > happy with it too." > > Greg >
