1. 程式人生 > >nginx----Location詳解之精準匹配

nginx----Location詳解之精準匹配

location 語法

location 有”定位”的意思, 根據URL來進行不同的定位.

在虛擬主機的配置中,是必不可少的,location可以把網站的不同部分,定位到不同的處理方式上.

比如, 碰到.php, 如何呼叫PHP直譯器?  --這時就需要location

location 的語法

location [=|~|~*|^~] patt {

}

中括號可以不寫任何引數,此時稱為一般匹配

也可以寫引數

因此,大型別可以分為3種

location = patt {} [精準匹配]

location patt{}  [一般匹配]

location ~ patt{} [正則匹配]

如何發揮作用?:

首先看有沒有精準匹配,如果有,則停止匹配過程.

location = patt {

    config A

}

如果 $uri == patt,匹配成功,使用configA   

location = / {

              root   /var/www/html/;

             index  index.htm index.html;

        }

         

  location / {

             root   /usr/local/nginx/html;

            index  index.html index.htm;

  }

如果訪問  http://xxx.com/

定位流程是 

1: 精準匹配中 ”/”   ,得到index頁為  index.htm

2: 再次訪問 /index.htm , 此次內部轉跳uri已經是”/index.htm” ,

根目錄為/usr/local/nginx/html

3: 最終結果,訪問了 /usr/local/nginx/html/index.htm