Apache2 LocationMatch permite um índice para login, mas nada mais?

2

Eu quero permitir /myapp e /myapp/ , mas não permitir todo o resto. Como eu configuro isso? Eu tentei isso:

<LocationMatch "^/myapp/.+$">
LDAP here
</LocationMatch>

O que eu diria que NÃO atingiria /myapp ou /myapp/ , mas parece que também captura esses URLs.

Se eu fizer

<LocationMatch "^/myapp/specificsubdirectory/.*$">
LDAP here
</LocationMatch>

Então isso funciona, mas eu quero bloquear todos os subdiretórios específicos do aplicativo.

    
por Stefan Kendall 10.06.2015 / 15:19

2 respostas

0

DirectoryIndex é aplicado antes de LocationMatch, reescrevendo o local para terminar com o arquivo de índice de diretório (index.html, index.php e assim por diante). Seu padrão

^/myapp/.+$

corresponde, porque é aplicado a

/myapp/index.html
    
por 05.06.2016 / 20:36
-1

A expressão regular está errada. Experimente um pcretest(1) :

$ pcretest
PCRE version 8.37 2015-04-28

  re> /^\/myapp\/.+$/
data> /myapp
No match
data> /myapp/
No match
data>
  re> /^\/myapp(|\/)$/
data> /myapp
 0: /myapp
 1:
data> /myapp/
 0: /myapp/
 1: /
data> /myapp/foo
No match

Portanto, uma diretiva <LocationMatch> em funcionamento seria:

<LocationMatch "^/myapp(|/)$">
    
por 10.06.2015 / 17:42