詳解Nginx之Location配置(Location匹配順序)
location有”定位”的意思, 主要是根據(jù)Uri來進行不同的定位.在虛擬主機的配置中,是必不可少的.
location可以把網(wǎng)站的不同部分,定位到不同的處理方式上.
1.location的基礎語法
location [=|~|~*|^~] patt {
}
=:嚴格匹配。如果這個查詢匹配,那么將停止搜索并立即處理此請求。
~:為區(qū)分大小寫匹配(可用正則表達式)。
~*:為不區(qū)分大小寫匹配(可用正則表達式)。
^~:如果把這個前綴用于一個常規(guī)字符串,那么告訴nginx 如果路徑匹配那么不測試正則表達式。
2.location如何發(fā)揮作用

3.簡單實例證明上述圖片結論
不帶正則表達式的匹配過程
location = / {
root /var/www/html/;
index index.htm index.html;
}
location / {
root /usr/local/nginx/html;
index index.html index.htm;
}
location配置如上,若訪問http://xxx.com/,定位的流程是:
1:精準匹配命中"/",得到index頁為index.htm,所以請求的地址變?yōu)閔ttp://xxx.com/index.htm
2:再次匹配"/index.htm",此次內部轉跳uri已經(jīng)是"/index.htm",命中普通匹配"/",根目錄為/usr/local/nginx/html
3:最終結果,訪問了/usr/local/nginx/html/index.htm
帶正則表達式的匹配過程
location / {
root /usr/local/nginx/html;
index index.html index.htm;
}
location ~ image {
root /var/www/;
index index.html;
}
如果我們訪問http://xx.com/image/logo.png。此時uri為"/image/logo.png"命中了普通匹配"/",也命中了正則匹配"~ image",但是根據(jù)上述圖片中匹配過程分析,最終是正則匹配生效。
所以最終訪問地址為:/var/www/image/logo.png。如果你想最終的匹配路徑為/var/www/logo.png可以把正則匹配中的"root /var/www/";修改為"alias /var/www/"
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Nginx中404頁面的配置及AJAX請求返回404頁面的方法
404是請求頁面不存在的錯誤代碼,在Nginx中有時處理jQuery中的ajax方法雖然能返回404頁面但錯誤代碼卻返回200,針對此問題我們具體來看一下Nginx中404頁面的配置及AJAX請求返回404頁面的方法2016-05-05
高并發(fā)nginx服務器的linux內核優(yōu)化配置講解
今天小編就為大家分享一篇關于高并發(fā)nginx服務器的linux內核優(yōu)化配置講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
Nginx配置srcache_nginx模塊搭配Redis建立緩存系統(tǒng)
這篇文章主要介紹了Nginx配置srcache_nginx模塊搭配Redis建立緩存系統(tǒng)的方法,文中關于Nginx模塊和Redis數(shù)據(jù)庫的安裝就不再說明了,這里只關注配置搭建階段,需要的朋友可以參考下2016-01-01

