一.last & break

(1)last 和 break 当出现在location 之外时,两者的作用是一致的没有任何差异。

注意一点就是,他们会跳过所有的在他们之后的rewrite 模块中的指令,去选择自己匹配的location

(2)last 和 break 当出现在location 内部时,两者就存在了差异

last: 使用了last 指令,rewrite 后会跳出location 作用域,重新开始再走一次刚刚的行为

break: 使用了break 指令,rewrite后不会跳出location 作用域。它的生命也在这个location中终结。

网友解释通俗易懂:

    last:
        重新将rewrite后的地址在server标签中执行
    break:
        将rewrite后的地址在当前location标签中执行
  nginx官方解释:
  last:
         stops processing the current set of ngx_http_rewrite_module directives followed by a search for a new location matching     
         the changed URI;
  break:
        stops processing the current set of ngx_http_rewrite_module directives;

二、permanent & redirect:

permanent: 永久性重定向。请求日志中的状态码为301

redirect:临时重定向。请求日志中的状态码为302

从实现功能的角度上去看,permanent 和 redirect 是一样的。不存在好坏。也不存在什么性能上的问题。但是对seo会有影响,这里要根据需要做出选择

在 permanent 和 redirect  中提到了 状态码 301 和 302。 记住:last 和 break 想对于的访问日志的请求状态码为200

这两类关键字差异:

当你打开一个网页,同时打开debug 模式时,会发现301 和 302 时的行为是这样的。第一个请求301 或者 302 后,浏览器重新获取了一个新的URL ,然后会对这个新的URL 重新进行访问。所以当你配置的是permanent 和 redirect ,你对一个URL 的访问请求,落到服务器上至少为2次;而当你配置了last 或者是break 时,你最终的URL 确定下来后,不会将这个URL返回给浏览器,而是将其扔给了fastcgi_pass或者是proxy_pass指令去处理。请求一个URL ,落到服务器上的次数就为1次。

注意:配置last 在跨域的时候效果和redirect一致,都是返回302状态码,请求地址也发生改变

nginx last 和break redirect 和 permanent的更多相关文章

  1. nginx中的break与last指令区别

    很多人资料说,last与break的区别在于,last并不会停止对下面location的匹配.我理解上模模糊糊.今天自己来测验了一下. rewrite 指令末尾的break应该与单独写break作用是 ...

  2. nginx url rewrite break和last的区别

    break 将重写的URI作为一个新的URI,在本块中继续处理,将重写后 的地址在当前location块中处理,不会将新的URI转向到其他location块中 last,终止继续在本location块 ...

  3. Nginx中的break和last

    rewrite中的break和last 两个指令用法相同,但含义不同,需要放到rewrite规则的末尾,用来控制重写后的链接是否继续被nginx配置执行(主要是rewrite.return指令). 示 ...

  4. Nginx rewrite 中break与last指令的区别

    location /break/ { rewrite ^/break/(.*) /test/$1 break; return 402; } location /last/ { rewrite ^/la ...

  5. Nginx配置中last和break及permanent和redirect的区别

    一.不写last和break 流程就是依次执行这些rewrite rewrite break - url重写后,直接使用当前资源,不再执行location里余下的语句,完成本次请求,地址栏url不变 ...

  6. Nginx rewrite URL examples with and without redirect address

    原文地址: http://www.claudiokuenzler.com/blog/436/nginx-rewrite-url-examples-with-without-redirect-addre ...

  7. Nginx Redirect Websocket

    I want to redirect my websocket to another server. As we known, nginx command rewrite or redirect ca ...

  8. nginx rewrite规则last与break的区别

    概要:break和last都能阻止继续执行后面的rewrite指令,last如果在location下的话,对于重写后的URI会重新匹配location,而break不会重新匹配location. 区别 ...

  9. 9. nginx服务实验笔记

    LNMP安装与配置   Nginx与apache.lighttp性能综合对比,如下图:     一.系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu系统 需要3GB以上硬盘 ...

随机推荐

  1. asp.net序列化

    JsonHelp.cs using System.IO; using System.Text; using System.Runtime.Serialization.Json; namespace W ...

  2. jquery keycode

    判断键盘按下的键 $(window).keydown(function(event) { switch (event.which) { case (13): //Enter //要执行的操作 brea ...

  3. Android Studio导入Eclipse项目的两种方法

    Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Stu ...

  4. anadroid环境搭建

    近期配置android 开发环境时,在网上搜寻诸多资料.文字一大堆,最没有解决这个问题,以下我谈一下我的配置之路: 一.开发环境需求原始资源: 1. jdk(java api):因为如今android ...

  5. 算法笔记_205:第五届蓝桥杯软件类决赛真题(C语言B组)

    目录 1 年龄巧合 2 出栈次序 3 信号匹配 4 生物芯片 5 Log大侠 6 殖民地   前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 年龄巧合 小明和他的表弟一起去看电影,有人问他们的年龄. ...

  6. Aerospike系列:3:aerospike特点分析

    1. 数据存放 数据可以放内存,也可以放SSD.   数据放内存时速度肯定会很快,但这和memcache一样,相比memcache性能并没有优势 数据放内存时可以进行持久化配置,但文档只有一个地方提了 ...

  7. Python学习笔记九:正则表达式

    一:正则表达式的符号与方法 常用符号: .:匹配任何一个字符,换行符除外(所以,多行字符串中的匹配要特殊处理,见下面实例) *:匹配前一个字符0次或多次 +:匹配前一个字符1次或多次 ?:匹配前一个字 ...

  8. Text Justification 文本左右对齐

    Given an array of words and a length L, format the text such that each line has exactly L characters ...

  9. 【shell】定时删除DB2表数据

    使用db2的时候,有时候需要对表数据进行删除,防止数据太多,造成数据库空间满了 以下是一个定时删除表tmp,tm1中id为1的数据的脚本 #!/bin/sh ##------------------- ...

  10. topshelf 开发windows 服务资料

    官方配置 http://docs.topshelf-project.com/en/latest/configuration/config_api.html#service-start-modes to ...