Nginx location配置詳解


上一篇博客Nginx配置詳解已經說過了nginx 的基本配置情況,今天來詳細講述一下nginx的location的配置原則,

location是根據Uri來進行不同的定位,location可以把網站的不同部分,定位到不同的處理方式上,

location的語法:

  location [=|~|~*|^~] patt { }  //中括號中為修飾符,可以不寫任何參數,此時稱為一般匹配,也可以寫參數

因此,大類型可以分為種:

  location = patt {} [精准匹配]

  location patt{}     [普通匹配]

  location ~ patt{}  [正則匹配]

 先來看一張圖了解一下匹配的優先級問題:

location命中過程:

1.先進行精准匹配,如果命中立即返回結果並結束解析的過程;

2.精准匹配未命中判斷普通匹配,如果命中多個會記錄下"最長的"命中結果,但不會結束解析;

3.繼續判斷正則匹配,按照正則匹配設置的規則正則表達式進行匹配,如果有多個正則匹配則由上到下進行匹配,一旦匹配成功一個會立即返回結果並結束解析.

ps:普通匹配的前后順序是無所謂的,因為記錄的是最長的結果,而正則匹配是按從上到下匹配的,這個需要注意!!!

    server {

        listen 80; 

        server_name localhost; 

        location =/text.html { #精准匹配,瀏覽器輸入IP地址/text.html,定位到服務器/var/www/html/text.html文件
root
/var/www/html;
index text.html;
} location
/ { #普通匹配,瀏覽器輸入IP地址,定位到服務器/usr/local/nginx/html/default.html文件
root html;
index
default.html;
}

    location ~ image { #正則匹配,瀏覽器輸入IP/image..地址會被命中,定位到/var/www/image/index.html

      root /var/www/image;

      index index.html;
    }

    }


免責聲明!

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



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