nginx中break和last的區別

2022-06-17 06:06:11 字數 1570 閱讀 6108

mkdir -p /opt/tmp/wqy/test/aaa

mkdir -p /opt/tmp/wqy/test/bbb

echo "aaa" >> /opt/tmp/wqy/test/aaa/index.html

echo "bbb" >> /opt/tmp/wqy/test/bbb/index.html

nginx配置

server 

location ^~ /bbb

}

測試結果

#curl -s  -x 127.0.0.1:80

aaa#curl -s -x 127.0.0.1:80

hello world

nginx配置

server 

location ^~ /bbb

}

測試結果

#curl -s  -x 127.0.0.1:80

hello world

#curl -s -x 127.0.0.1:80

hello world

url由重寫前的變為,重新進行location匹配後,匹配到第二個location條件,所以請求url得到的響應是hello wold

測試結論

配置rewrite last時,請求跳出當前location,進入server塊,重新進行location匹配,超過10次匹配不到報500錯誤。客戶端的url不變

nginx配置

server 

location ^~ /bbb

}

測試結果

#curl -s  -x 127.0.0.1:80

bbb#curl -s -x 127.0.0.1:80

hello world

url由重寫前的變為,nginx按照重寫後的url進行資源匹配,匹配到的資源檔案是/opt/tmp/wqy/test/bbb/index.html,所以請求url得到的響應就是/opt/tmp/wqy/test/bbb/index.html檔案中的內容:bbb

測試結論

配置rewrite break時,請求不會跳出當前location,但資源匹配會按照重寫後的url進行,如果location裡面配置的是proxy_pass到後端,後端伺服器收到的請求url也會是重寫後的url。客戶端的url不變。

python中break和contiune的區別

在學習python語言中發現python中跳出迴圈有兩種方法,分別是break和continue,但是兩種方法的區別一直不太清楚,也沒有找到乙個比較明確的說明,經過自己實際編碼對比,基本上掌握了用法。首先,寫一段python的迴圈 如下 for fruit in foods if fruit ban...

python中break和continue的區別

break 應用在迴圈中,結束當前迴圈 continue 應用在迴圈中,結束當前正在執行的迴圈,繼續下一次迴圈 例項 統計100 200之間的質數的個數 質數 只能被1和它本身整除的數被稱為質數 假設法 假設任意乙個數是質數,然後尋找條件推翻假設 num 100count 0while num 20...

python中break 和continue的區別

break 只能在while,和for迴圈中 if不行 會報錯 break outside loop break跳出迴圈 1.打破的是最小封閉的while或for迴圈,在這裡我是這麼理解的,直接終止while迴圈,如果巢狀了多層for迴圈終止最內層迴圈.eg while true print 123...