nginx中的location匹配規則

概述:
1. location在nginx配置文件中的做用是根據用戶請求的URI來執行不一樣的應用。
2.URI的定義:標識、定位任何資源的字符串
  協議://域名/目錄a/目錄b/文件c
  http://www.baidu.com/dowload/nginx/nginx.conf
1、location寫法
location  = / {
  # 精確匹配 / ,主機名後面不能帶任何字符串只能是 /  ,例如 ‘  www.abc.com/  ’
  # 優先級: 最高。  
[ configuration A ]
}
location  / {
  # 匹配全部的地址  以 / 開頭,能匹配到全部的規則。
  # 優先級:最低。
  [ configuration B ]
}
location /documents/ {
  # 匹配任何以 /documents/ 開頭的地址,匹配符合之後,還要繼續往下搜索
  # 優先級:僅次於正則表達式。
  [ configuration C ]
}
location ~ /documents/Abc {
  # 匹配任何以 /documents/Abc 開頭的地址,匹配符合之後,還要繼續往下搜索
  # 優先級:低於正則表達式,高於/documents/。
  [ configuration CC ]
}
location ~* \.(gif|jpg|jpeg)$ {
  # 匹配全部以 gif,jpg或jpeg 結尾的請求。
  # 優先級:低於 ^~  的匹配。
  [ configuration D ]
}

2、符號說明nginx

= 開頭表示精確匹配; 如: A 中只匹配根目錄結尾的請求,後面不能帶任何字符串.
^~ 開頭表示uri以某個常規字符串開頭,不是正則匹配;
~ 開頭表示區分大小寫的正則匹配;
~* 開頭表示不區分大小寫的正則匹配;
/ 通用匹配, 若是沒有其它匹配,任何請求都會匹配到;
3、location 順序/優先級:
= > 完整路徑 > ^~ 路徑 > ~,~* 正則順序 > 部分起始路徑 > /
相關文章
相關標籤/搜索