nginx location 的配置


一、基本語法:location [=|~|~*|^~] /uri/ { … }

二、分類:

 1.基本location:以“ = ”或“ ^~ ”為前綴或者沒有任何前綴的 /uri/ 

 2.正則location:以“ ~ ”或“ ~* ”為前綴的 /uri/

 基本location 又分為2種:

  1)嚴格精確匹配:  “ = ” 

  2)最大前綴匹配: 無前綴 或者以“ ^~ ”

三、解釋:

  1)= 嚴格匹配。如果這個查詢匹配,那么將停止搜索並立即處理此請求。
  2)~ 為區分大小寫匹配(可用正則表達式)
  3)~* 為不區分大小寫匹配(可用正則表達式)
  4)!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配
  5)^~ 如果把這個前綴用於一個常規字符串,那么告訴nginx 如果路徑匹配那么不測試正則表達式。

四、規則:

  1.先匹配普通 location ,再匹配正則 location ,但是如果普通 location 的匹配結果恰好是“嚴格精確( exact match )”的,則 nginx 不再嘗試后面的正則 location ;如果普通 location 的匹配結果是“最大前綴”,則正則 location 的匹配覆蓋普通 location 的匹配。

  2.基本location 中,嚴格精確匹配大於最大前綴

  2.對於普通 location 指令,匹配規則是:最大前綴匹配(與順序無關),如果恰好是嚴格精確匹配結果或者加有前綴“ ^~ ”或“ = ”(符號“ = ”只能嚴格匹配,不能前綴匹配),則停止搜索正則 location ;但對於正則 location 的匹配規則是:按編輯順序逐個匹配(與順序有關),只要匹配上,就立即停止后面的搜索。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM