Nginx中break與last的區(qū)別詳析
先說區(qū)別
- last,重寫后的規(guī)則,會(huì)繼續(xù)用重寫后的值去匹配下面的location。
- break,重寫后的規(guī)則,不會(huì)去匹配下面的location。使用新的規(guī)則,直接發(fā)起一次http請(qǐng)求了。
Nginx 配置文件
server { listen 88; server_name _; location /break { # location 1 rewrite ^/break/(.*)$ /bak/$1 break; } location /last { # location 2 rewrite ^/last/(.*)$ /bak/$1 last; } location /bak { # location 3 default_type text/html; return 200 $uri; } }
訪問 http://rumenz.com:88/break/one
命中l(wèi)ocation1,瀏覽器地址欄沒有變,直接去找 /nginx/html/bak/one 文件,由于沒有這個(gè)文件所以返回404。
瀏覽器
Nginx錯(cuò)誤(error.log)日志
/nginx/html/bak/one failed (2: No such file or directory)
break 表示重寫后停止不再匹配 location 塊。
訪問 http://rumenz.com:88/last/one
命中l(wèi)ocation2,瀏覽器地址欄沒有變,重新匹配到 location3
last表示重寫后跳到location塊再次用重寫后的地址匹配
break 和 last 的使用場(chǎng)景
break
文件下載,隱藏保護(hù)真實(shí)文件服務(wù)器。
location /down { rewrite ^/down/(.*)$ https://rumenz.com/file/$1 break; }
last
接口地址改寫,將 https://rumenz.com/api/list 改寫成 https://rumenz.com/newapi/list
location /api { rewrite ^/api/(.*)$ /newapi/$1 last; } location /newapi { default_type Application/json; return 200 '{"code":200,"msg":"ok","data":["JSON.IM","json格式化"]}'; }
總結(jié)
到此這篇關(guān)于Nginx中break與last區(qū)別的文章就介紹到這了,更多相關(guān)Nginx中break與last區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx學(xué)習(xí)總結(jié)五(nginx反向代理)
Nginx代理與負(fù)載均衡配置與優(yōu)化技巧,方便需要的朋友2012-11-11Nginx同一個(gè)域名配置多個(gè)項(xiàng)目的實(shí)現(xiàn)方法
這篇文章主要介紹了Nginx同一個(gè)域名配置多個(gè)項(xiàng)目的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03用nginx搭建簡(jiǎn)單的文件下載服務(wù)器的方法
本篇文章主要介紹了用nginx搭建簡(jiǎn)單的文件下載服務(wù)器的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼
這篇文章主要介紹了nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12關(guān)于nginx+php5.3.8+eclipse3.7工作空間的配置方法
以前用eclipse3.6時(shí)設(shè)置php服務(wù)器時(shí)完全可以在base url欄填寫自己工作空間的目錄,然后修改nginx.conf加一個(gè)alias就行了2011-11-11Nginx代理接口訪問返回404的實(shí)現(xiàn)示例
因?yàn)椴煌瑯I(yè)務(wù)系統(tǒng)間有接口調(diào)用,存在跨域問題,為了解決同源策略,需要將接口通過nginx去轉(zhuǎn)發(fā),本文主要介紹了Nginx代理接口訪問返回404的實(shí)現(xiàn)示例,感興趣的可以了解一下2024-06-06