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匹配到 注意是空格 開頭表示區分大小寫的正則匹配 開頭表示不區分大小寫的正則匹配 和 分...