Yes, It's a bug in <Perl> Sections. Confirmed in 1.26. But it is worse. With the following in httpd.conf try /info vs /status vs /status/info vs /info/status, with and without the commented part, (if one section fails, if two sections works)
<Perl> $Location{'/status'} = { SetHandler => 'server-status', Allow => 'from localhost' }; #</Perl> #<Perl> $Location{'/info'} = { SetHandler => 'server-info', Allow => 'from localhost' }; </Perl> I'm digging into it. Regards, Salvador Ortiz. On Fri, 2002-02-01 at 20:56, David Wheeler wrote: > Okay, let me try again. > > I have a simple module I've written that demonstrates the problem. here > it is: > > package MyTest; > our $VERSION = '0.1'; > use Apache; > > sub one { > print STDERR "One\n"; > print STDOUT "One\n"; > return Apache::OK; > } > > sub two { > print STDERR "Two\n"; > print STDOUT "Two\n"; > return Apache::OK; > } > > package Apache::ReadConfig; > use strict; > use warnings; > > our $NameVirtualHost = '*:80'; > > our %VirtualHost = ('*:80' => { > ServerName => '_default_', > DocumentRoot => '/usr/local/apache/htdocs', > Location => { > '/one' => { > SetHandler => 'perl-script', > PerlHandler => 'MyTest::one' > }, > '/two' => { > SetHandler => 'perl-script', > PerlHandler => 'MyTest::two' > } > } > }); > > > Now, if I execute this from httpd.conf by simply calling > > PerlModule MyTest > > Here's what I get for my requests: > > URL Prints > =================== ====== > http://myserver/one One > http://myserver/two Two > http://myserver/one/foo One > http://myserver/two/foo Two > http://myserver/one/two One > http://myserver/one/twofoo One > http://myserver/one/two/foo One > http://myserver/two/one One > http://myserver/two/onefoo One > http://myserver/two/one/foo One > > It's the last three requests that are the problem. Because I'm hitting > the '/two' location, I expect each of those examples to print "Two". But > because they each have "one" in the URL, they all print "One"! > > Why is this? It seems to be acting like LocationMatch directives rather > than Location. Could this be a bug in how the Perl sections work? If > not, how do I get that last request to print "Two" instead of "One"? > Even if it *is* a bug, how do I get the proper behavior? > > TIA, > > David > > -- > David Wheeler AIM: dwTheory > [EMAIL PROTECTED] ICQ: 15726394 > Yahoo!: dew7e > Jabber: [EMAIL PROTECTED] >