首頁 >運維 >Nginx >nginx location是什麼

nginx location是什麼

(*-*)浩
(*-*)浩原創
2019-06-06 14:05:157171瀏覽

在專案開發中常會遇到nginx設定檔中,會有很多條location配置,卻讀不懂其中的意義而煩惱

nginx location是什麼

Location是Nginx中的區塊級指令(block directive),透過設定Location指令塊,可以決定客戶端發過來的請求URI如何處理(是對應到本機檔案還是轉送出去)及被哪個location處理。

Location基本語法

修饰符(modifier)         
location [ = | ~ | ~* | ^~ ]     uri     { ... } 
location根据不同的修饰符可以分为两大类
前缀location(prefix location): 
无修饰符的普通location
带=的精准匹配location
带^~的非正则表达式location
正则表达式location(regular expressions location):
~    区分大小写的正则location
~*   不区分大小写的正则location

 location的符合範例:

ocation = / { [ configuration A ] }                     #用户请求"/"时,匹配A,例如:www.pcm.com/
location / { [ configuration B ] }                       #当用户请求"/index.html"时,匹配B,例如:www.pcm.com/index.html
location /documents/ { [ configuration C ] }             #当用户请求"/documents/"时,匹配C,例如:www.pcm.com/documents/index.html      
location ^~ /images/ { [ configuration D ] }             #当用户请求"/images/"时,匹配D,:www.pcm.com/images/1.jpg 
location ~* \.(gif|jpg|jpeg)$ { [ configuration E ] }    #当用户请求".gif|.jpg|.jpeg"时,匹配E,例如:www.pcm.com/documents/1.jpg
                                                         #上面的反斜杠是转义字符,$的意思是结尾

下面是一個location配置參考,以及不同的請求uri到達nginx時會執行的規則

location / {
    [ configuration B ]
}

location /documents/ {
    [ configuration C ]
}

location ^~ /images/ {
    [ configuration D ]
}

location ~* \.(gif|jpg|jpeg)$ {
    [ configuration E ]
}

请求URI                        执行的规则
/                             A
/index.html                   B
/documents/document.html      C
/images/1.gif                 D
/documents/1.jpg              E

更多Nginx相關技術文章,請訪問Nginx使用教程欄目進行學習!

以上是nginx location是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn