时间:2021-05-02
先说区别
Nginx 配置文件
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 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
命中location1,浏览器地址栏没有变,直接去找 /nginx/html/bak/one 文件,由于没有这个文件所以返回404。
浏览器
Nginx错误(error.log)日志
? 1 /nginx/html/bak/one failed (2: No such file or directory)break 表示重写后停止不再匹配 location 块。
访问 http://rumenz.com:88/last/one
命中location2,浏览器地址栏没有变,重新匹配到 location3
last表示重写后跳到location块再次用重写后的地址匹配
break 和 last 的使用场景
break
文件下载,隐藏保护真实文件服务器。
? 1 2 3 location /down { rewrite ^/down/(.*)$ https://rumenz.com/file/$1 break; }last
接口地址改写,将 https://rumenz.com/api/list 改写成 https://rumenz.com/newapi/list
? 1 2 3 4 5 6 7 8 location /api { rewrite ^/api/(.*)$ /newapi/$1 last; } location /newapi { default_type Application/json; return 200 '{"code":200,"msg":"ok","data":["JSON.IM","json格式化"]}'; }总结
到此这篇关于Nginx中break与last区别的文章就介绍到这了,更多相关Nginx中break与last区别内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://segmentfault.com/a/1190000038996671
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在使用nginx配置rewrite中经常会遇到有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样
今天在开发公司官网:http:///时遇到一个问题,在写rewrite的时候,纠结到底是用last还是break,后面查看了一下资料,发现它们区别主要是:las
本文实例讲述了JavaScript中break、continue和return的用法区别。分享给大家供大家参考,具体如下:break停止了这个for循环,跳出循
word-break:break-all和word-wrap:break-word都是能使其容器如DIV的内容自动换行。它们的区别就在于:1,word-brea
break、continue、return之间的区别与联系在软件开发过程中,逻辑清晰是非常之重要的。代码的规范也是非常重要的。往往细节决定成败。在编写代码的时候