
¿Existe un equivalente "no" para las coincidencias de nginx? estoy pensando
location !~ "\.(html|php)$" {
deny all;
}
para permitir servir sólo archivos html y php. la alternativa es "negar todo" seguido de ~ con "permitir todo". Por desgracia, esto parece interferir de alguna manera con alguna magia de ubicación anterior en mi archivo nginx.
Respuesta1
Puedes usar una lógica de ubicación anidada como esta:
location / {
deny all;
location ~* "\.(html|php)$" {
Allow all;
}
}
Respuesta2
Las ubicaciones con expresiones regulares también coinciden según su orden. Entonces también podrías usar algo como esto:
location ~* "\.(html|php)$" { ...; break; } location ~* "." { deny all; }
Observe que la segunda ubicación también debe estar basada en expresiones regulares.