Eu tenho um servidor que está completamente bloqueado com o Basic Auth
<Location />
AuthType Basic
# [...] rest of basic auth stuff
require valid-user
order deny,allow
deny from all
Satisfy any
</Location>
Um subdiretório é acessível sem autenticação:
<Location /public>
allow from all
Satisfy any
</Location>
Isso está funcionando bem. Agora eu quero permitir acesso sem login a alguns scripts que são acessados com mod_rewrite:
RewriteRule ^phonebook/show/(.+)$ /quicksearchShow.php?uid=$1 [NC]
RewriteRule ^phonebook/(.+)$ /quicksearch.php?s=$1 [NC]
RewriteRule ^phonebook$ /quicksearch.php [NC]
Algumas maneiras que eu tentei:
<Location ~ "/phonebook*">
Allow from all
Satisfy Any
</Location>
<Location /phonebook>
Allow from all
Satisfy Any
</Location>
<LocationMatch "^phonebook.*">
Allow from all
Satisfy Any
</LocationMatch>
Nenhuma dessas opções funciona. Eu assumo porque /phonebook
não é um diretório real no servidor. Então eu tentei algumas variantes das diretivas <Files>
:
<FilesMatch "/quicksearch.*">
Allow from all
Satisfy Any
</FilesMatch>
<FilesMatch "^quicksearch.*">
Allow from all
Satisfy Any
</FilesMatch>
<Files "quicksearch.php">
Allow from all
Satisfy Any
</Files>
Mas também não tem sorte.
Então, como eu defino opções para um diretório "virtual" específico que é mapeado via mod_rewrite?