Nginx路徑匹配規(guī)則小結(jié)
目錄
- 1.路徑配置的分類
- 2.例子
1.路徑配置的分類
在nginx中,一共有4種不同的路徑配置方法
= - Exact match
^~ - Preferential match
~ && ~* - Regex match
no modifier - Prefix match
#路徑完全一樣則匹配 location = path { } #路徑開頭一樣則匹配 location ^~ path{ } #正則匹配,大小寫敏感 location ~ path{ } #正則匹配,大小寫不敏感 location ~* path{ } #前綴匹配 location path{ }
上面的執(zhí)行順序是,優(yōu)先查看Exact match,若存在,則停止。如不存在,則進(jìn)入Preferential match。之后在進(jìn)入Regex match,先看大小寫敏感的規(guī)則,再看大小寫不敏感的規(guī)則.最后進(jìn)入Prefix match.
= --> ^~ --> ~ --> ~* --> no modifier
在每一個(gè)同類型的匹配規(guī)則中,按照他們出現(xiàn)在配置文件中的先后,一一對(duì)比。
2.例子
location /match { return 200 "Prefix match: will match everything that starting with /match"; } location ~* /match[0-9] { return 200 "Case insensitive regex match"; } location ~ /MATCH[0-9] { return 200 "Case sensitive regex match"; } location ^~ /match0 { return 200 "Preferential match"; } location = /match { return 200 "Exact match"; }
/match # => 'Exact match'
/match0 # => 'Preferential match'
/match1 # => 'Case insensitive regex match'
/MATCH1 # => 'Case sensitive regex match'
/match-abc # => 'Prefix match: matches everything that starting with /match'
到此這篇關(guān)于Nginx路徑匹配規(guī)則小結(jié)的文章就介紹到這了,更多相關(guān)Nginx路徑匹配內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
