Hi all... well, I put some more work into it and have overcome a few issues (like restoring $r->filename and making vhosts work)... anyway, I would be interested if anyone gets the chance to work with it or deem it worthy of future development... --Geoff http://morpheus.laserlink.net/~gyoung/modules/Apache-ReverseLocation-0.01.ta r.gz README: NAME Apache::ReverseLocation - provide for negative URI containers SYNOPSIS httpd.conf: PerlModule Apache::ReverseLocation <Location !~ "/foo"> SetHandler perl-script PerlHandler My::Handler </Location> Alias !~ /bar /usr/local/apache/somefiles <LocationMatch !~ "/bar"> SetHandler perl-script PerlHandler Another::Handler </LocationMatch> DESCRIPTION Apache::ReverseLocation provides negative matching for <Location> and <LocationMatch> container directives. They work in the same manner as the default directives except that the sense of the match is reversed, similar to Perl's built-in !~ operator, allowing you to set the behavior of your containers as restrictive instead of permissive. Apache::ReverseLocation also overrides the mod_alias directive Alias, which makes it possible to restore the filename (if you need it) even though the URI is incorrect when translation occurs. Hopefully it actually works. EXAMPLE in httpd.conf: PerlModule Apache::ReverseLocation <Location !~ "/perl-bin|cgi-bin"> # this server only allows scripts to be run, nothing else PerlAccessHandler Apache::Constants::FORBIDDEN </Location> if you need to get at $r->filename: Alias !~ /server-status|/server-info /usr/local/apache/perl-bin <Location !~ /server-status|/server-info> # if they don't want information, they get a script SetHandler perl-script PerlHandler Apache::Registry Options +ExecCGI Order Allow,Deny Allow from All </Location> NOTES The Alias directive needs to match the regex from the container directives exactly, otherwise it definitely will not work properly. It might not work properly anyway... Verbose debugging is enabled by setting $Apache::ReverseLocation::DEBUG=1 in your startup.pl. The implementation of this module is very incomplete, and as such is very alpha software. It has not been tested on multiple platforms environments for security, stability or other concerns. It is definitely not production quality at this time. FEATURES/BUGS Probably many - it's alphaware. SEE ALSO perl(1), mod_perl(1), Apache(3) AUTHOR Geoffrey Young <[EMAIL PROTECTED]> COPYRIGHT Copyright 2001 Geoffrey Young - all rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.