Nginx location配置

語法規則: location [=||*|^~] /uri/ { … }

~ #波浪線表示執行一個正則匹配,區分大小寫
~* #表示執行一個正則匹配,不區分大小寫
^~ #^~表示普通字符匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄
= #進行普通字符精確匹配
@ #"@" 定義一個命名的 location,使用在內部定向時,例如 error_page, try_files

官方文檔:
1,=前綴的指令嚴格匹配這個查詢。如果找到,停止搜索。
2,所有剩下的常規字符串,最長的匹配。如果這個匹配使用^?前綴,搜索停止。
3,正則表達式,在配置文件中定義的順序。
4,如果第3條規則產生匹配的話,結果被使用。否則,如同從第2條規則被使用。

例子:

location  = / {
  # 只匹配"/".
  [ configuration A ] 
}
location  / {
  # 匹配任何請求,因為所有請求都是以"/"開始
  # 但是更長字符匹配或者正則表達式匹配會優先匹配
  [ configuration B ] 
}
location ^~ /images/ {
  # 匹配任何以 /images/ 開始的請求,并停止匹配 其它location
  [ configuration C ] 
}
location ~* \.(gif|jpg|jpeg)$ {
  # 匹配以 gif, jpg, or jpeg結尾的請求. 
  # 但是所有 /images/ 目錄的請求將由 [Configuration C]處理.   
  [ configuration D ] 
}

@location 例子

error_page 404 = @fetch;
location @fetch(
proxy_pass http://fetch;
)

原文章地址:http://www.nginx.cn/115.html

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容