国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

詳解Nginx location 匹配規(guī)則

2024-08-30 12:25:43
字體:
供稿:網(wǎng)友

語法規(guī)則

location [=|~|~*|^~] /uri/ { … }

模式 含義
location = /uri = 表示精確匹配,只有完全匹配上才能生效
location ^~ /uri ^~ 開頭對(duì)URL路徑進(jìn)行前綴匹配,并且在正則之前。
location ~ pattern 開頭表示區(qū)分大小寫的正則匹配
location ~* pattern 開頭表示不區(qū)分大小寫的正則匹配
location /uri 不帶任何修飾符,也表示前綴匹配,但是在正則匹配之后
location / 通用匹配,任何未匹配到其它location的請(qǐng)求都會(huì)匹配到,相當(dāng)于switch中的default

前綴匹配時(shí),Nginx 不對(duì) url 做編碼,因此請(qǐng)求為 /static/20%/aa ,可以被規(guī)則 ^~ /static/ /aa 匹配到(注意是空格)

多個(gè) location 配置的情況下匹配順序?yàn)椋▍⒖假Y料而來,還未實(shí)際驗(yàn)證,試試就知道了,不必拘泥,僅供參考):

    首先精確匹配 = 其次前綴匹配 ^~ 其次是按文件中順序的正則匹配 然后匹配不帶任何修飾的前綴匹配。 最后是交給 / 通用匹配 當(dāng)有匹配成功時(shí)候,停止匹配,按當(dāng)前匹配規(guī)則處理請(qǐng)求

注意:前綴匹配,如果有包含關(guān)系時(shí),按最大匹配原則進(jìn)行匹配。比如在前綴匹配: location /dir01 location /dir01/dir02 ,如有請(qǐng)求 http://localhost/dir01/dir02/file 將最終匹配到 location /dir01/dir02

例子,有如下匹配規(guī)則:

location = / {  echo "規(guī)則A";}location = /login {  echo "規(guī)則B";}location^~ /static/ {  echo "規(guī)則C";}location^~ /static/files {  echo "規(guī)則X";}location ~ /.(gif|jpg|png|js|css)$ {  echo "規(guī)則D";}location ~* /.png$ {  echo "規(guī)則E";}location /img {  echo "規(guī)則Y";}location / {  echo "規(guī)則F";}

那么產(chǎn)生的效果如下:

    訪問根目錄 / ,比如 http://localhost/ 將匹配 規(guī)則A 訪問 http://localhost/login 將匹配 規(guī)則B , http://localhost/register 則匹配 規(guī)則F 訪問 http://localhost/static/a.html 將匹配 規(guī)則C 訪問 http://localhost/static/files/a.exe 將匹配 規(guī)則X ,雖然 規(guī)則C 也能匹配到,但因?yàn)樽畲笃ヅ湓瓌t,最終選中了 規(guī)則X 。你可以測(cè)試下,去掉規(guī)則 X ,則當(dāng)前 URL 會(huì)匹配上 規(guī)則C 。 訪問 http://localhost/a.gif , http://localhost/b.jpg 將匹配 規(guī)則D 和 規(guī)則 E ,但是 規(guī)則 D 順序優(yōu)先, 規(guī)則 E 不起作用,而 http://localhost/static/c.png 則優(yōu)先匹配到 規(guī)則 C 訪問
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乌鲁木齐县| 河曲县| 麻城市| 祥云县| 周宁县| 怀远县| 北辰区| 六枝特区| 德州市| 定兴县| 日照市| 萨嘎县| 津南区| 延川县| 宾阳县| 始兴县| 太康县| 平原县| 石嘴山市| 南川市| 乌拉特中旗| 城固县| 海原县| 台前县| 临夏县| 磐石市| 乐平市| 依兰县| 公主岭市| 东辽县| 凯里市| 岳阳市| 南昌县| 隆林| 清涧县| 汉川市| 合江县| 榆林市| 裕民县| 咸阳市| 新兴县|