Nginx location 在配置中的優先順序
location表示式型別
- ~ 表示執行一個正則匹配,區分大小寫
- ~* 表示執行一個正則匹配,不區分大小寫
- ^~ 表示普通字元匹配。使用字首匹配。如果匹配成功,則不再匹配其他location。
- = 進行普通字元精確匹配。也就是完全匹配。
- @ 它定義一個命名的 location,使用在內部定向時,例如 error_page, try_files
location優先順序說明
在nginx的location和配置中location的順序沒有太大關係。正location表示式的型別有關。相同型別的表示式,字串長的會優先匹配。
以下是按優先順序排列說明:
- 等號型別(=)的優先順序最高。一旦匹配成功,則不再查詢其他匹配項。
- ^~型別表示式。一旦匹配成功,則不再查詢其他匹配項。
- 正規表示式型別(~ ~*)的優先順序次之。如果有多個location的正則能匹配的話,則使用正規表示式最長的那個。
- 常規字串匹配型別。按字首匹配。
location優先順序示例
配置項如下:
location = / { # 僅僅匹配請求 / [ configuration A ] } location / { # 匹配所有以 / 開頭的請求。 # 但是如果有更長的同型別的表示式,則選擇更長的表示式。 # 如果有正規表示式可以匹配,則優先匹配正規表示式。 [ configuration B ] } location /documents/ { # 匹配所有以 /documents/ 開頭的請求。 # 但是如果有更長的同型別的表示式,則選擇更長的表示式。 # 如果有正規表示式可以匹配,則優先匹配正規表示式。 [ configuration C ] } location ^~ /images/ { # 匹配所有以 /images/ 開頭的表示式,如果匹配成功,則停止匹配查詢。 # 所以,即便有符合的正規表示式location,也不會被使用 [ configuration D ] } location ~* /.(gif|jpg|jpeg)$ { # 匹配所有以 gif jpg jpeg結尾的請求。 # 但是 以 /images/開頭的請求,將使用 Configuration D [ configuration E ] }
請求匹配示例
/ -> configuration A /index.html -> configuration B /documents/document.html -> configuration C /images/1.gif -> configuration D /documents/1.jpg -> configuration E
注意,以上的匹配和在配置檔案中定義的順序無關。
相關文章
- 談Nginx的Location匹配優先順序Nginx
- nginx的location匹配順序、優先順序,location對映衝突排查Nginx
- nginx location規則優先順序比較Nginx
- Nginx配置指令location匹配符優先順序和安全問題Nginx
- Nginx的location規則:優先順序和路徑替換Nginx
- nginx快取優先順序Nginx快取
- 中斷優先順序
- 高效能Web伺服器Nginx的配置與部署研究(16)小議location匹配模式優先順序Web伺服器Nginx模式
- Yarn任務優先順序配置Yarn
- SpringBoot配置檔案優先順序載入順序Spring Boot
- CSS優先順序CSS
- python運算子及優先順序順序Python
- NTP時間伺服器優先順序配置伺服器
- [譯]HTTP/2的優先順序HTTP
- CSS的處理優先順序CSS
- Android程式優先順序Android
- SQL 優先順序join>whereSQL
- java運算子優先順序Java
- php運算子優先順序PHP
- css優先順序彙總CSS
- ORACLE中sql語句----運算子的優先順序OracleSQL
- 介紹python中運算子優先順序Python
- nginx location 的配置Nginx
- css選擇器的優先順序CSS
- 警惕執行緒的優先順序執行緒
- 併發請求的優先順序
- Web 效能優化:Preload與Prefetch的使用及在 Chrome 中的優先順序Web優化Chrome
- js中同名變數或者引數的優先順序JS變數
- Nginx Location 配置Nginx
- nginx location配置Nginx
- java setPriority()設定優先順序Java
- 封裝優先順序佇列封裝佇列
- gitignore優先順序小結Git
- css 選擇器優先順序CSS
- java執行緒優先順序Java執行緒
- 資料型別優先順序資料型別
- 深入理解css優先順序CSS
- NLS引數優先順序解析