nginx中location有几种:
1.前缀,可以有=或^~修饰,比如
location / /开头的
location /img/ /img/开头的
location = /a.htm 刚好/a.htm
location ^~ /d 匹配后不再检查正则表达式location
2.正则表达式,固定~或~*(不区分大小写)开头,比如:
location ~ \.html$
location ~* \.gif$
同时有多个location时,优先级如下:
1.Test the URI against all prefix strings.
和所有前缀比较
2.The = (equals sign) modifier defines an exact match of the URI and a prefix string. If the exact match is found, the search stops.
某个匹配前缀有=,则结束匹配
3.If the ^~ (caret-tilde) modifier prepends the longest matching prefix string, the regular expressions are not checked.
最长匹配的有 ^~ 则结束匹配
4.Store the longest matching prefix string.
保存最长匹配
5.Test the URI against regular expressions.
再检查 ~开头的正则表达式
6.Break on the first matching regular expression and use the corresponding location.
第一个匹配的正则表达式,结束匹配
7.If no regular expression matches, use the location corresponding to the stored prefix string.
没有正则匹配,则使用刚才最长前缀
以上就介绍了nginx location优先级详解,包括了location,nginx方面的内容,希望对PHP教程有兴趣的朋友有所帮助。