Hi,
I need to deny access to /members but allow access to every folders
below.
There may be a lot of folders, maybe a thousan, and each of those
folders
contain 5 other folders. So i need a wildcard.
Here is what i tried :
location ~ ^/members/([^/]+)/([^/?]+)$ { allow all; } #allow
every folders below /members with wildcard
location ~ ^/members/ { deny all; }
#deny
everything else
But it doesn’t work.
What am i missing exactly?
Thank you,
Carl
Posted at Nginx Forum:
Hi, I need to deny access to /members but allow access to every folders below. There may be a lot of folders, maybe a thousan, and each of those folders contain 5 other folders. So i need a wildcard. Here is what i tried : location ~ ^/me
carlg
January 9, 2015, 2:26am
2
El 2015-01-09 01:44, carlg escribió:
location ~ ^/members/([^/]+)/([^/?]+)$ { allow all; } #allow
every folders below /members with wildcard
location ~ ^/members/ { deny all; }
#deny
everything else
But it doesn’t work.
Hi,
This works for me… or I think so
location ~* /members/.+/.* { allow all; }
location ~* /members/.* { deny all; }
Cheers,
Raúl Galicia
carlg
January 9, 2015, 8:05pm
3
nginx provides a prefix to match exact URIs:
location = /members {
deny all;
}
All the different prefixes and their use can be found in the location
http://nginx.org/en/docs/http/ngx_http_core_module.html#location
directive documentation.
You do not need to set any location for “/members/.+”-like URIs, unless
you
need to specify directives specific to it.
You could then use:
location /members {
[…]
}
B. R.