以下為個人小結測試,如文中有錯誤,歡迎指出,謝謝!1.所有規則分配到各自類,優先順序如下,找到第乙個符合的類別即停止2.在符合的類別中搜尋所有符合的規則,按照下述示例處理衝突
優先順序最高,首選,無論位置
精確匹配只有完全符合才會匹配配置檔案# 訪問 都會匹配
# 訪問 不會被匹配
server
}
結果# 測試訪問位址
server
# 大小寫敏感的正規表示式,能匹配,並且在前面
location ~ /equal_.*
# 大小寫不敏感的正規表示式,能匹配,並且在前面
location ~* /equal_.*
# ^~ 字首,能匹配,在前面
location ^~ /equal_.*
# 假如還有這個,nginx會報錯,無法啟動
# nginx: [emerg] duplicate location "/equal_prefix"
# 因此忽略 一致匹配的情況下 前後優先順序的問題
# location ^~ /equal_prefix
# = 精確匹配
location = /equal_prefix
}
除 = 號字首外,優先順序第二,並且最長優先,無論位置
配置檔案
結果# 測試訪問位址
server
# 無字首,部分匹配,在前面
location /caret-
# 大小寫不敏感的正規表示式,並且在前面
location ~* /caret-regex
# 大小寫敏感的正規表示式,並且在前面
location ~ /caret-regex
# ^~ 字首的, 較短,在前面
location ^~ /caret
# ^~ 字首的,較長,在後面
location ^~ /caret-regex
}
配置檔案
1.同樣符合的正規表示式情況下,不區分長短,不區分精確字元個數,位置前面優先
結果# 測試訪問位址
server
# 正規表示式, 精確字元個數較少
location ~ /reg.*
# 正規表示式, 精確字元個數較多
location ~ /regex
}
2. ~與~*優先順序一致 ,位置前面優先
結果1# 測試訪問位址
server
location ~* /regex
}
結果2# 測試訪問位址
server
location ~ /regex
}
3.優先順序比無字首要高,即使位置在後面
結果# 測試訪問位址
server
location ~ /regex
}
優先順序最低, 同樣無字首情況下,精確度最長的優先
結果# 測試訪問位址
server
# 精確度高,但在後面
location /non-prefix
}
Nginx配置基礎 location
location表示式型別 表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配。使用字首匹配。如果匹配成功,則不再匹配其他location。進行普通字元精確匹配。也就是完全匹配。常規字串匹配。按字首匹配。它定義乙個命名的 location,使用在內部定向時,例如 ...
nginx配置location總結
上 多的不說了,配了很多,終於起效了。對nginx 來說,實現的方法很簡單,只要在location段中,使用 expires 就可以了 格式expires 30s 表示把資料快取30秒 expires 30m 表示把資料快取30分 expires 10h 表示把資料快取10小時 expires 1d...
nginx配置命令 location配置
波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄。進行普通字元精確匹配。定義乙個命名的 location,使用在內部定向時,例如 error page,try files。按配置檔案順序搜尋下...