亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

Nginx配置的rewrite編寫時last與break的區別分析

2024-08-30 12:27:56
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Nginx配置的rewrite編寫時last與break的區別分析,簡單來說使用last會對server標簽重新發起請求,而break就直接使用當前的location中的數據源來訪問,需要的朋友可以參考下
 

在使用nginx配置rewrite中經常會遇到有的地方用last并不能工作,換成break就可以,其中的原理是對于根目錄的理解有所區別,按我的測試結果大致是這樣的。

location /  {    proxy_pass http://test;    alias /home/html/;    root /home/html;    rewrite "^/a/(.*)/.html$" /1.html last;  } 

在location / { 配置里:
1、使用root指定源:使用last和break都可以
2、使用proxy_pass指定源:使用last和break都可以
3、使用alias指定源:必須使用last
在location /a/或使用正則的location ~ ^/a/里:
1、使用root指定源:使用last和break都可以
2、使用proxy_pass指定源:使用break和last結果有所區別
3、使用alias指定源:必須使用last
其中區別主要在proxy_pass這個標簽上,再看看幾個測試結果:

location /  {    root /home/html;  }   location /a/  {    proxy_pass http://test;    rewrite "^/a/(.*)/.html$" /1.html last;  } 

在這段配置里,使用last訪問是可以訪問到東西的,不過,它出來的結果是:/home/html/1.html;可我需要的是http://test/1.html?使用break就可以了。

location /  {    root /home/html;  }    location /a/  {    proxy_pass http://test;    rewrite "^/a/(.*)/.html$" /a/1.html last;  } 

在這段配置里,返回錯誤,因為last會重新發起請求匹配,所以造成了一個死循環,使用break就可以訪問到http://test/a/1.html。
所以,使用last會對server標簽重新發起請求,而break就直接使用當前的location中的數據源來訪問,要視情況加以使用。一般在非根的location中配置rewrite,都是用的break;而根的location使用last比較好,因為如果配置了fastcgi或代理訪問jsp文件的話,在根location下用break是訪問不到。測試到rewrite有問題的時候,也不妨把這兩者換換試試。
至于使用alias時為什么必須用last,估計是nginx本身就限定了的,怎么嘗試break都不能成功。

所以我們再來理解last與break的區別:
last: 停止當前這個請求,并根據rewrite匹配的規則重新發起一個請求。新請求又從第一階段開始執行…
break:相對last,break并不會重新發起一個請求,只是跳過當前的rewrite階段,并執行本請求后續的執行階段…
 
我們再來看一個例子:

server {  listen 80 default_server;  server_name dcshi.com;  root www;  location /break/ {    rewrite ^/break/(.*) /test/$1 break;    echo "break page";  }   location /last/ {     rewrite ^/last/(.*) /test/$1 last;     echo "last page";  }    location /test/ {    echo "test page";  }}

 

請求:http://dcshi.com/break/***
輸出: break page
分析:正如上面討論所說,break是跳過當前請求的rewrite階段,并繼續執行本請求的其他階段,很明顯,對于/foo 對應的content階段的輸出為 echo “break page”; (content階段,可以簡單理解為產生數據輸出的階段,如返回靜態頁面內容也是在content階段;echo指令也是運行在content階段,一般情況下content階段只能對應一個輸出指令,如同一個location配置兩個echo,最終只會有一個echo指令被執行);當然如果你把/break/里的echo 指令注釋,然后再次訪問/break/xx會報404,這也跟我們預期一樣:雖然/break/xx被重定向到/test/xx,但是break指令不會重新開啟一個新的請求繼續匹配,所以nginx是不會匹配到下面的/test/這個location;在echo指令被注釋的情況下,/break/ 這location里只能執行nginx默認的content指令,即嘗試找/test/xx這個html頁面并輸出起內容,事實上,這個頁面不存在,所以會報404的錯誤。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品xxxxx| 2018中文字幕一区二区三区| 久久久久久欧美| 欧美理论电影在线播放| 亚洲成人三级在线| 日韩精品欧美国产精品忘忧草| 九九精品在线播放| 久久久久一本一区二区青青蜜月| 国产mv久久久| 欧美激情一区二区三区在线视频观看| 欧美成人黑人xx视频免费观看| 91亚洲国产成人精品性色| 久久99视频精品| 国产精品福利在线| 91视频国产高清| 91香蕉国产在线观看| 欧洲日本亚洲国产区| 亚洲美女精品成人在线视频| 日韩精品视频免费在线观看| 日韩最新免费不卡| 久青草国产97香蕉在线视频| 最近2019中文字幕一页二页| 久久久久久久亚洲精品| 亚洲人成绝费网站色www| 另类视频在线观看| 欧美老肥婆性猛交视频| 在线播放日韩av| 97精品在线视频| 在线播放日韩精品| 日本一区二区三区四区视频| 亚洲精品国产美女| 欧美日韩免费在线观看| 国产欧美日韩精品专区| 在线观看中文字幕亚洲| 国产精品成人av性教育| 国产一区二区精品丝袜| 欧美最顶级丰满的aⅴ艳星| 亚洲欧美在线播放| 国产精品入口夜色视频大尺度| 97人洗澡人人免费公开视频碰碰碰| 国产亚洲精品一区二区| 精品视频久久久久久久| 日韩精品中文字| 成人性生交xxxxx网站| 欧美在线一级va免费观看| 2021国产精品视频| 亚洲欧美日韩中文在线| 亚洲精品电影网在线观看| 国内精品视频一区| 日韩美女福利视频| 亚洲欧洲xxxx| 在线看片第一页欧美| 国语自产精品视频在线看| 国产视频综合在线| 91国内在线视频| 亚洲国产高潮在线观看| 欧美在线视频观看免费网站| 国产精品高潮呻吟久久av黑人| 欧美激情videoshd| 欧美精品制服第一页| 国产精品一久久香蕉国产线看观看| 欧美片一区二区三区| 久久久久久一区二区三区| 91在线观看免费| 欧美日本在线视频中文字字幕| 成人国内精品久久久久一区| 日本一区二区三区在线播放| 久久久久久午夜| 欧美视频一区二区三区…| 亚洲va国产va天堂va久久| 欧美在线视频在线播放完整版免费观看| 亚洲成人性视频| 久久精品久久久久电影| 91探花福利精品国产自产在线| 精品自拍视频在线观看| 狠狠爱在线视频一区| 俺去亚洲欧洲欧美日韩| 亚洲va码欧洲m码| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲欧美国产精品久久久久久久| 热99久久精品| 欧美日韩人人澡狠狠躁视频| 91精品久久久久久久久青青| 久久精品国产69国产精品亚洲| 久久综合久久八八| 在线观看精品国产视频| 日韩国产精品亚洲а∨天堂免| 久久久亚洲精选| 亚洲www永久成人夜色| 国产精品嫩草影院久久久| 亚洲xxxx在线| 日韩av在线影院| www.亚洲人.com| 狠狠色噜噜狠狠狠狠97| 成人免费观看a| 欧美激情二区三区| 亚洲网站在线观看| 国产精品小说在线| 成人欧美一区二区三区在线湿哒哒| 欧美综合激情网| 亚洲精品国产电影| 91久久国产精品91久久性色| 国产精品欧美日韩| 亚洲高清av在线| 国产日韩精品在线观看| 国产亚洲美女久久| 欧美成人午夜激情在线| 国产精品香蕉在线观看| 国产欧美欧洲在线观看| 久久久精品一区| 福利视频一区二区| 尤物九九久久国产精品的分类| 亚洲影视九九影院在线观看| 国产精品尤物福利片在线观看| 日韩电视剧在线观看免费网站| 在线视频中文亚洲| 亚洲视频日韩精品| 一区二区国产精品视频| 97精品国产aⅴ7777| 亚洲福利视频二区| 一本色道久久88亚洲综合88| www.日本久久久久com.| 91亚洲一区精品| 国产精品视频免费观看www| 亚洲免费视频网站| 日韩美女视频中文字幕| 51久久精品夜色国产麻豆| 欧美性资源免费| 欧美亚洲日本黄色| 精品一区二区电影| 亚洲香蕉伊综合在人在线视看| 国产一区二区三区免费视频| 伊人久久久久久久久久久久久| 91亚洲精品久久久| 日韩大胆人体377p| 久久国产精品影视| 日韩精品电影网| 欧美在线观看网站| 在线视频欧美性高潮| 亚洲男人的天堂在线播放| 午夜精品久久久久久99热| 亚洲大胆人体视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品吊钟奶在线| 亚洲香蕉伊综合在人在线视看| 欧美成人黑人xx视频免费观看| 欧美在线性视频| 国产欧美va欧美va香蕉在| 国内精品一区二区三区四区| 尤物99国产成人精品视频| 92福利视频午夜1000合集在线观看| 狠狠躁夜夜躁人人爽天天天天97| 久久久精品久久久| 丝袜美腿精品国产二区| 国产91热爆ts人妖在线| 欧美激情视频免费观看| 激情懂色av一区av二区av| 国产女人18毛片水18精品| 伊人精品在线观看| 97成人超碰免| 欧美激情视频网址| 久久69精品久久久久久国产越南| 欧美午夜视频一区二区| 亚洲国产精品推荐|