我在配置一个 Nginx location 的禁止访问路径,碰到一个正则的问题...
要求是这样的,如:
对于 /users 开头的地址,只允许访问 /users/self/* 下的路径
/users/a 不允许访问
/users/b 不允许访问
/users/self/a 允许访问
然后其他的地址都不做限制,这个 localtion 要如何写好呢?
目前参照网上博客的写法如下,但是条件是需要取反的
location ~* /users/self/* {
deny all;
return 403;
}
//这样子是全部禁止访问了,需要取反,还不能影响其他路径
1
0ZXYDDu796nVCFxq 2021-03-27 17:27:17 +08:00 via Android
location ^~ /user/self/
location /user/ {deny all; } |
3
0ZXYDDu796nVCFxq 2021-03-27 17:53:24 +08:00 via Android
你看下 location 的匹配规则
^~ 表示匹配到之后,忽略其余 location 匹配 不同匹配模式也有先后顺序 |