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]

Reply via email to