海詩(shī)網(wǎng) 知識(shí)百科 nginx(nginx啟動(dòng)命令)

nginx(nginx啟動(dòng)命令)

nginx, nginx的位置正則匹配是怎樣的?不知道小伙伴們今天來看看邊肖的分享吧!

位置可以分為兩種:正常配置和常規(guī)匹配。

一、總體配置

普通位置根據(jù)使用方法分為兩種,格式如下:

1. location/{

指令序列

}

解釋:括號(hào)中定義的表示對(duì)當(dāng)前路徑和子路徑下的所有對(duì)象都有效。"最低優(yōu)先級(jí)"

所有用戶的請(qǐng)求都可以由它來匹配。

示例:

location/{

root /web;

對(duì)應(yīng)策略

}

這意味著網(wǎng)頁(yè)根目錄在/web中。

你訪問的時(shí)候直接去http://127.0.0.1或者域名就行了。

所有用戶的請(qǐng)求都可以由它來匹配。

location /bbs {

root /web;

對(duì)應(yīng)策略

}

這意味著網(wǎng)頁(yè)的根目錄位于/web/bbs。

訪問的時(shí)候直接去http://127.0.0.1/bbs就可以了。

當(dāng)用戶訪問時(shí)

http://127.0.0.1/bbs/

或者

http://127.0.0.1/bbs/subpath

只能用上面的路徑來匹配。

問題:當(dāng)用戶訪問http://127.0.0.1/bbs/a.html時(shí),

當(dāng)這兩個(gè)位置同時(shí)存在時(shí),如下所示,哪個(gè)配置將生效?

server {

listen 80;

server_name www.benet.com;

index index.html;

location/{

root /web;

}

location /bbs {

root /web;

}

結(jié)論是,

當(dāng)用戶請(qǐng)求的URL(/BBS)同時(shí)匹配兩個(gè)位置時(shí),

最大前綴生效(位置/bbs生效)

如果本段第一段(位置/bbs)不生效。

第一段相當(dāng)于默認(rèn)策略,因?yàn)閘ocation/包含所有請(qǐng)求,所有請(qǐng)求都以“/”開頭。

2. Location=/Path {

指令序列

}

解釋:括號(hào)中定義的表示對(duì)當(dāng)前路徑有效,但對(duì)子路徑無效(與指定路徑完全匹配的不包括子路徑)?!八凶罡邇?yōu)先權(quán)?!?

示例:

location=/prefix {

}

也就是說,訪問www.benet.com/prefix的用戶可以通過上面的位置進(jìn)行匹配,它只匹配/前綴。

/下的子路徑不匹配。

訪問www.benet.com/prefix/a的用戶無法與之匹配。

最高優(yōu)先級(jí):表示一旦匹配到該位置,立即生效。其他位置無論是否符合要求都不會(huì)生效。

示例:

location /prefix/{

root /;

}

location=/prefix/{

return 500;

}

nginx啟動(dòng)命令

第二,常規(guī)匹配

常規(guī)匹配也分為兩種:

1. location ~ URI {}

~匹配文件區(qū)分大小寫。

2. Location ~* URI {}:

~ *匹配文件不區(qū)分字符。

正則匹配按照正則位置寫的順序生效,一旦匹配成功,將停止匹配到后續(xù)位置。

示例:

location ~ /bbs {

return 400;

}

location ~* /bbs {

return 500;

}

網(wǎng)頁(yè)返回錯(cuò)誤消息400。

然后切換配置的兩個(gè)部分。

location ~* /bbs {

return 500;

}

location ~ /bbs {

return 400;

}

nginx啟動(dòng)命令

三。匹配訂單和有效訂單

匹配順序和有效順序是兩個(gè)概念。

當(dāng)配置中有多個(gè)位置,并且既有正常位置又有常規(guī)位置時(shí),則

1,匹配順序是:

用戶請(qǐng)求的URL

(1)先匹配普通位置。

普通位置根據(jù)編輯順序匹配。

(2)在匹配規(guī)則的位置

常規(guī)位置匹配時(shí)按照編輯順序進(jìn)行匹配。

但是,常規(guī)位置和普通位置在編輯順序上不匹配。

2.有效訂單

當(dāng)正常和常規(guī)都存在時(shí),遵循以下原則。

1.nginx開始匹配編輯順序中的普通位置。

(1)如果匹配過程中匹配到了

location=:nginx會(huì)立即生效即停止后續(xù)的匹配

(2)如果沒有l(wèi)ocaiton=話,

如果匹配到locatin ^~。會(huì)停止后續(xù)的正則匹配

然后最大前綴locaiton生效

最后是location/生效

(3) 如果以上兩種location都不存在的話

nginx會(huì)匹配所有l(wèi)ocation后看后續(xù)有沒有正則locaion

如果后續(xù)沒有正則locaiton

然后最大前綴locaiton生效

最后是location/生效

如果后續(xù)還有正則location

一旦匹配成功一條正則locaion,這條會(huì)生效,并且會(huì)停止后續(xù)的正則匹配,還會(huì)會(huì)覆蓋前邊的普通location結(jié)果

nginx,以上就是本文為您收集整理的nginx最新內(nèi)容,希望能幫到您!更多相關(guān)內(nèi)容歡迎關(guān)注。

本文來自網(wǎng)絡(luò),不代表海詩(shī)網(wǎng)立場(chǎng),轉(zhuǎn)載請(qǐng)注明出處:http://x91880.com/n/169905.html
      

ppt布爾運(yùn)算工具在哪里(ppt布爾運(yùn)算工具在哪里找)

發(fā)表回復(fù)
聯(lián)系我們
聯(lián)系我們

在線咨詢: QQ交談

郵箱: 3587015498@qq.com

工作時(shí)間:周一至周五,9:00-17:30,節(jié)假日休息

關(guān)注微信
微信掃一掃關(guān)注我們
微信掃一掃關(guān)注我們
關(guān)注微博
返回頂部