nginx 的 location 使用和定製

2021-06-27 12:22:49 字數 1654 閱讀 2634

1.location 有」定位」的意思, 

根據uri

來進行不同的定位

.在虛擬主機的配置中,

是必不可少的

,location

可以把**的不同部分

,定位到不同的處理方式上.

比如, 

碰到.php, 

如何呼叫

php直譯器

?  --

這時就需要

location

location 

的語法

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

中括號可以不寫任何引數

,此時稱為一般匹配 ,也可以寫引數 ,因此,

大型別可以分為3種

location = patt {} [精準匹配

]location patt{}  [一般匹配

]location ~ patt{} [正則匹配

]2.如何發揮作用?:

首先看有沒有精準匹配,

如果有,

則停止匹配過程.

location = patt 

如果 $uri == patt,

匹配成功,使用

configa

location = / 

location / 

3.如果訪問  

定位流程是 

1: 精準匹配中 」/」   ,得到

index

頁為  

index.htm

2: 再次訪問 

/index.htm , 

此次內部轉跳

uri已經是」/index.htm」 , 

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

3: 最終結果

,訪問了 

/usr/local/nginx/html/index.htm

4.再來看,

正則也來參與

.location / 

location ~ image 

示例1:

如果我們訪問  

此時, 「/」 與」/image/logo.png」 匹配

同時,」image」正則 與」image/logo.png」也能匹配,

誰發揮作用

?正規表示式的成果將會使用.

真正會訪問 /var/www/image/logo.png 

location / {

root   /usr/local/nginx/html;

index  index.html index.htm;

location /foo {

root /var/www/html;

index index.html;

示例2:

我們訪問 foo

對於uri 「/foo」,   兩個

location

的patt,

都能匹配他們

即 『/』能從左字首匹配 『/foo』, 『/foo』也能左字首匹配』/foo』,

此時, 

真正訪問 

/var/www/html/index.html 

原因:』/foo』匹配的更長,

因此使用之

.;//若是對上面的理解有難度,可以 看 燕十八 ,畫的 location 示意流程圖,已發表

nginx(四)location正規表示式使用

只匹配 的查詢.configuration a location location images location gif jpg jpeg 各請求的處理如下例 注意你可以以任何順序定義這4個配置並且匹配結果是相同的,但當使用巢狀的location結構時可能會將配置檔案變的複雜並且產生一些比較意外的...

nginx的location配置詳解

語法規則 location uri 開頭表示精確匹配 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為 static 20 aa,可以被規則 static aa匹配到 注意是空格 開頭表示區分大小寫的正則匹配 開頭表示不區分大小寫的正則匹配 和 分...

nginx的location配置詳解

語法規則 location uri 開頭表示精確匹配 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為 static 20 aa,可以被規則 static aa匹配到 注意是空格 開頭表示區分大小寫的正則匹配 開頭表示不區分大小寫的正則匹配 和 分...