apache locationmatch negative regex
Solution 1:
This page by Antonio Lorusso suggests the following to exclude folders from apache authentication:
<Location "/">
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /var/www/clients/client12/web17/passwd
AuthGroupFile /dev/null
Require valid-user
SetEnvIf Request_URI "^/(admin|skin|js|index)(.*)$" allow
SetEnvIf Request_URI "^/favicon.ico$" allow
Order allow,deny
Allow from env=allow
Satisfy Any
</Location>
In this case URLs starting with /admin, /skin, /js or /index will be ignored by auth.
The key part of this section for you is:
SetEnvIf Request_URI "^/(admin|skin|js|index)(.*)$" allow
In your case the appropriate code would be:
SetEnvIf Request_URI "^/services(.*)$" allow
_
Solution 2:
Well, [^.]
means "not a .
", which is why /.somefile
doesn't match. A possible reason why your last example doesn't work is because Perl-compatible regular expressions are only supported starting with Apache 2.0, so if you're on Apache 1.3 (you really should specify an Apache version in your question), that'd be it.