nginx配置中,location和root对应的关系

nginx中,location中的正则和root的关系,以及rewrite的重定向


一、Nginx location规则

^~ 标识符匹配后面跟一个字符串。匹配字符串后将停止对后续的正则表达式进行匹配。

= 精确匹配,如location=/,只会匹配url为/的请求

~ 区分大小写的匹配

~* 不区分大小写的匹配

!~ 对区分大小写的匹配取反

!~* 对不区分大小写的匹配取反

/ 通用匹配,如果没有其他匹配,任何请求都会被匹配到


二、正则表达式

  • 重复前面的字符0次或者多次

? 重复前面的字符0次或者1次

  • 重复前面的数字1次或者多次

. 匹配除换行符外的任意1个字符

(a|b) 匹配a或者b

^ 以...开头

$ 以...结尾

{n} 重复前面的字符n次

{n,} 重复前面的字符n次或更多次

{n,m} 重复前面的字符n次到m次

*? 重复前面的字符0次或者多次,但尽可能少重复

+? 重复前面的字符1次或者多次,但尽可能少重复

?? 重复前面的字符0次或1次,但尽可能少重复

{n,m}? 重复前面的字符n次到m次,但尽可能少重复

{n,}? 重复前面的字符n次以上,但尽可能少重复

[a] 匹配单个字符a

[a-z] 匹配a-z小写字母的任意一个

[^a] 匹配除了a以外的任意字符

[^abc] 匹配除了abc这几个字母以外的任意字符


三、Nginx location匹配顺序的优先级
(location =) > (location 完整路径) >(location ^~路径)>(location ~,~*正则顺序) > (location 部分起始路径) > (/)




实例测试

1、location 正则下的 root 和 alias

location / {
     root /nas/front/;
}

如果一个 URL 是 front.test.com/a.html , 那么访问到的是 /nas/front/a.html 文件

location /test/ {
     root /nas/front/;
}

如果一个 URL 是 front.test.com/test/a.html , 那么访问到的是 /nas/front/test/a.html 文件
未完,待续

转载于:https://blog.51cto.com/rsddn/2338980

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值