There is no negation of an entire regex in apache's configuration. You
have to do something like this:

<DirectoryMatch         "^(cgi-bin|perl)$">
PerlAccessHandler       Apache::GateKeeper
ErrorDocument 403       /index.html

<Files                  "login.cgi">
PerlAccessHandler       Apache::OK
</Files>
</DirectoryMatch>

Regards,
Christian

On Fri, 2 Feb 2001, Joseph Crotty wrote:

> Hi all,
> 
> I have an Apache::GateKeeper that checks to see if the user has logged in
> and been served a cookie... if not they are redirected to index.html(to
> login).  I want all comers to ServerRoot/cgi-bin or ServerRoot/perl to have
> to go thru the GateKeeper handler, except those trying to get to login.cgi
> which lives in ServerRoot/perl.  I was trying to use the perl.conf Block
> Directives below, but am not getting the negated <Files !~> line to work
> right.  I snooped around on the mail archives but can't find anything about
> negated regex matching.
> 
> PerlRequire             conf/startup.pl
> PerlFreshRestart        On
> PerlSetEnv              MOD_PERL_TRACE all
> 
> #Directory Handlers
> #------------------
> <Directory /perl>
>         AllowOverride   None
>         Options         +ExecCGI
>         SetHandler      perl-script
>         PerlHandler     Apache::Registry
>         PerlSendHeader  On
> </Directory>
> 
> <Directory ~ (cgi-bin|perl)>
>         <Files !~ "login.cgi">
>                 PerlAccessHandler       Apache::GateKeeper
>                 ErrorDocument           403 /index.html
>         </Files>
> </Directory>
> 
> Thanks,
> 
> Joe Crotty
> 

Reply via email to