技术解析

一个正则问题的请教
0
2021-06-08 11:19:14
idczone

我在配置一个 Nginx location 的禁止访问路径,碰到一个正则的问题美国服务器...

要求是这样的,如:

对于 /users 开头的地址,只允许访问 /users/self/* 下的路径

/users/a 不允许访问
/users/b 不允许访问
/users/self/a 允许访问

然后其他的地址都不做限制,这个 localtion 要如何写好呢?

目前参照网上博客的写法如下,但是条件是需要取反的

location ~* /users/self/* {
	deny all;
	return 403;	
}
//这样子是全部禁止访问了,需要取反,还不能影响其他路径

location ^~ /user/self/
location /user/ {deny all; }

我一直在想两个条件的表达式,怎么取交集...
nginx 不太熟,没想到可以写两个,谢谢老哥了哈哈

你看下 location 的匹配规则
^~ 表示匹配到之后,忽略其余 location 匹配
不同匹配模式也有先后顺序

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服