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

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


1、Nginx location规则html

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

= 精确匹配,如location=/,只会匹配url为/的请求正则表达式

~ 区分大小写的匹配ide

~* 不区分大小写的匹配测试

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

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

/ 通用匹配,若是没有其余匹配,任何请求都会被匹配到htm


2、正则表达式字符串

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

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

  • 重复前面的数字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这几个字母之外的任意字符


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




实例测试

一、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 文件未完,待续

相关文章
相关标签/搜索