Nginx配置文件中的location,用來匹配URL特定設置的配置html
location [=|~|~*|^~|@] /uri/ {...} nginx
= :表示精確匹配git
~ :表示區分大小寫的正則匹配正則表達式
~* :表示不區分大小寫的正則匹配編碼
^~ :表示URI是以某個常規字符串開頭,理解爲匹配URL路徑。Nginx不對URL作編碼,所以請求爲/aaa/<Character string>/aa,能夠被規則^~ /aaa/ /aa匹配到rest
!~ :表示區分大小寫不匹配正則htm
!~* :表示不區分大小寫不匹配正則字符串
/ :表示通用匹配,任何請求都會被匹配到string
location的匹配優先級:it
1. = 精確匹配,被第一個處理,若是發現精確匹配,nginx中止搜索其餘匹配。
2. 普通字符匹配,正則表達式和長的塊規則將被優先和查詢匹配,也就是說若是該項匹配還需還需看是否有正則表達式和更長的匹配。
3. 正則表達式,在配置文件中定義的順序
4. 若是第3條規則產生匹配的話,結果被使用,不然,使用第2條規則結果。
5. 最後匹配 /
參考文章:
ttps://moonbingbing.gitbooks.io/openresty-best-practices/content/ngx/nginx_local_pcre.html