以下是自己總結的nginx location匹配順序,在第2和第3的順序上和官網文檔相左,有時間再仔細研究下
1、首先是精確匹配,用 = 表示,例如:
location = /test { ... }
2、其次是前綴匹配 ,用^~表示,例如:
location ^~ /test { ... }
注意:若有多個前綴字符串可以匹配,將選擇具有最長匹配前綴的位置,並使用其配置
3、再次是正則匹配,用 ~或~*分別表示區分大小寫和不區分大小寫的正則匹配,例如:
location ~* /test { ... }
注意:正則表達式的搜索在第一個匹配項上終止,並使用其配置
4、再次匹配不帶任何修飾的前綴匹配,例如:
location /test { ... }
5、最後是交給 / 通用匹配,例如:
location / { ... }