nginx之location配置規則

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

相關文章
相關標籤/搜索