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]