nginx: correspondência de regex diferente?

nginx: correspondência de regex diferente?

existe um equivalente "não" para correspondências nginx? eu estou pensando

location !~ "\.(html|php)$" {
    deny all;
}

para permitir servir apenas arquivos html e php. a alternativa é "negar todos" seguido de ~ com "permitir todos". infelizmente, isso parece interferir de alguma forma com alguma mágica de localização anterior em meu arquivo nginx.

Responder1

Você pode usar lógica de localização aninhada assim:

location / {
  deny all;
  location ~* "\.(html|php)$" {
    Allow all;
  }
}

Responder2

locais com expressão regular também correspondem por ordem. Então você também pode usar algo assim:

location ~* "\.(html|php)$" { ...; break; } location ~* "." { deny all; }

Observe que o segundo local também deve ser baseado em regexp.

informação relacionada