在專案開發中常會遇到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中文網其他相關文章!