Nginx中break与last的区别详析_nginx

来源:脚本之家  责任编辑:小易  

先说区别

last,重写后的规则,会继续用重写后的值去匹配下面的location。 break,重写后的规则,不会去匹配下面的location。使用新的规则,直接发起一次http请求了。

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

命中location1,浏览器地址栏没有变,直接去找 /nginx/html/bak/one 文件,由于没有这个文件所以返回404。

浏览器

Nginx错误(error.log)日志

/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

文件下载,隐藏保护真实文件服务器。

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格式化"]}';
}

总结

到此这篇关于Nginx中break与last区别的文章就介绍到这了,更多相关Nginx中break与last区别内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:Nginx配置的rewrite编写时last与break的区别分析

  • 本文相关:
  • nginx服务器配置https nginx.config 配置文件(教程)
  • nginx+iis实现简单的负载均衡
  • windows nginx安装教程及简单实践
  • linux 系统 nginx 服务器安装及负载均衡配置详解
  • nginx+tomcat搭建高性能负载均衡集群的实现方法
  • nginx 多个location转发任意请求或访问静态资源文件的实现
  • nginx使用ipv6的相关配置项介绍
  • nginx中全局变量整理小结
  • 使用nginx方式实现http转换为https的示例代码
  • nginx关闭favicon.ico、robots.txt日志记录配置
  • 怎样区别nginx中rewrite时break和last
  • nginx rewrite中last和break的区别
  • nginx break和return的区别
  • nginx rewrite中 redirect permanent有什么区别
  • 貌似nginx的伪静态规则和apache的伪静态规则一样,...
  • 求助nginx重写,将index.php后面的?和&转换成/
  • 关于nginx中的rewrite问题
  • 如何在nginx里开启last modified特性
  • 怎么理解 nginx 中 rewrite 的用法
  • Nginx 疑惑 Rewrite 和 Redirect 的区别
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器nginx配置的rewrite编写时last与break的区别分析nginx服务器配置https nginx.config 配置文件(教程)nginx+iis实现简单的负载均衡windows nginx安装教程及简单实践linux 系统 nginx 服务器安装及负载均衡配置详解nginx+tomcat搭建高性能负载均衡集群的实现方法nginx 多个location转发任意请求或访问静态资源文件的实现nginx使用ipv6的相关配置项介绍nginx中全局变量整理小结使用nginx方式实现http转换为https的示例代码nginx关闭favicon.ico、robots.txt日志记录配置nginx提示:500 internal servernginx 多站点配置方法集合权限问题导致nginx 403 forbiddenginx fastcgi错误primary scripnginx服务器的反向代理proxy_pasnginx 403 forbidden的解决办法详解nginx服务器中配置超时时间的nginx伪静态配置和常用rewrite伪nginx下301重定向域名的方法小结windows下nginx+php5的安装与配置nginx session丢失问题处理解决方法nginx中location从零开始的配置教程详解nginx启用proxy_buffer缓冲前端必备nginx配置详解详解nginx的核心配置模块中对于请求体的接nginx服务器中设置禁止访问文件或目录的方nginx负载均衡详细介绍nginx高可用集群的实现过程nginx限制并发连接请求数的方法使用nginx、nginx plus抵御ddos攻击的方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved