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]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]