转载自:Nginx中的rewrite指令(break,last,redirect,permanent)

rewite

在server块下,会优先执行rewrite部分,然后才会去匹配location块
server中的rewrite break和last没什么区别,都会去匹配location,所以没必要用last再发起新的请求,可以留空

location中的rewirte:

不写last和break - 那么流程就是依次执行这些rewrite
1. rewrite break - url重写后,直接使用当前资源,不再执行location里余下的语句,完成本次请求,地址栏url不变
2. rewrite last - url重写后,马上发起一个新的请求,再次进入server块,重试location匹配,超过10次匹配不到报500错误,地址栏url不变
3. rewrite redirect – 返回302临时重定向,地址栏显示重定向后的url,爬虫不会更新url(因为是临时)
4. rewrite permanent – 返回301永久重定向, 地址栏显示重定向后的url,爬虫更新url

使用last会对server标签重新发起请求

如果location中rewrite后是对静态资源的请求,不需要再进行其他匹配,一般要使用break或不写,直接使用当前location中的数据源,完成本次请求
如果location中rewrite后,还需要进行其他处理,如动态fastcgi请求(.php,.jsp)等,要用last继续发起新的请求
(根的location使用last比较好, 因为如果有.php等fastcgi请求还要继续处理)

使用alias指定源:必须使用last

if语句主要用来判断一些在rewrite语句中无法直接匹配的条件,比如检测文件存在与否,http header,cookie等

location匹配规则及优先级

  1. = 严格匹配这个查询。如果找到,停止搜索。
  2. ^~ 匹配路径的前缀,如果找到,停止搜索。
  3. ~ 为区分大小写的正则匹配
  4. ~* 为不区分大小写匹配
    优先级: =, ^~, ~/~*, 无

break语句

放在server块rewrite语句前面
如果是直接请求某个真实存在的文件,则用break语句停止rewrite检查
if (-f $request_filename) {
break;
}

Nginx中的rewrite指令(break,last,redirect,permanent)相关推荐

  1. Nginx:rewrite指令(break,last,redirect,permanent)

    rewite指令 在 server 块下,会优先执行 rewrite 部分,然后才会去匹配 location 块.因为 server 块中 rewrite 的 break 和 last 没什么区别,执 ...

  2. nginx php permanent,Nginx中的rewrite指令详解(break,last,redirect,permanent)

    rewite 在server块下,会优先执行rewrite部分,然后才会去匹配location块 server中的rewrite break和last没什么区别,都会去匹配location,所以没必要 ...

  3. nginx中的rewrite用法及实例

    本文转载自http://blog.csdn.net/xy2204/article/details/47749405,本来想自己总结的,但还是觉得人家写的更好一些,所以就转载下来.最下面附有我的一个小例 ...

  4. nginx中的try_files指令解释

    try_files 指令的官方介绍比较让人摸不着头脑,经网上一番总结查看,try_files最核心的功能是可以替代rewrite. try_files 语法: try_files file ... u ...

  5. Nginx中常用的指令配置详解

    rewrite指令的作用:是做一些访问匹配规则的判断,从而实现相应的操作. location / { proxy_pass http://192.168.1.5 if (-d $request_fil ...

  6. nginx中的location指令

    1.location 介绍 location是Nginx中的块级指令(block directive),location指令的功能是用来匹配不同的url请求,进而对请求做不同的处理和响应,这其中较难理 ...

  7. Nginx核心模块——HTTP中的配置指令location和rewrite介绍

    文章目录 一.正则表达式在学习 1.1 常用的Nginx 正则表达式 二.访问路由location 2.1 location的分类 2.2 location 常用的匹配规则: 2.3 location ...

  8. 实例演示Nginx重写(Rewrite)类型last、break、redirect和permanent的区别

    本文使用之前制作的Docker容器<<Docker案例:搭建nginx服务>>演示Nginx四种重写类型的区别和效果,如果尚未构建Docker服务可参考之前的文章,或者自建Ng ...

  9. Nginx中的location规则与rewrite重写(详解)

    内容预知 1.Nginx中location与rewrite 1.1 location与rewrite常用的正则表达式 1.2  location与rewrite的联系和区别 2.location的匹配 ...

最新文章

  1. openpyxl安装_自拍教程76Python 一键批量安装第三方包
  2. (转载)Android GradientDrawable(shape标签定义) 静态使用和动态使用(圆角,渐变实现)
  3. rrt算法流程图_RRT算法移动机器人路径规划(快速扩展随机树).pdf
  4. Android 最火高速开发框架AndroidAnnotations使用具体解释
  5. 微信开发之JSSDK权限配置,服务器端获取签名等参数(java实现)
  6. Word2003中Visio2003图打印错误的解决方法
  7. 离散度计算公式 python_Python实现熵值法确定权重
  8. autoreconf: command not found
  9. 欧盟 | 地平线 2020 ENSEMBLE:D2.13 SOTIF Safety Concept(上)
  10. 加州大学洛杉玑分校计算机专业,UCLA的Computer Science「加州大学洛杉矶分校计算机科学系」...
  11. Linux入侵痕迹清理
  12. mysql utl_file_Oracle中utl_file包的使用
  13. 文通科技OCR识别|电子护照阅读器
  14. 微信办公时代,企业文化也能撑起企业的半壁江山?
  15. 每天一练——输入一行字符串,按如下规则加密:如果是英文字母则大写变小写、小写变大写,对非英文字符则保持不变。试写加密程序。
  16. 读书随想2 - 格鲁夫给经理人的第一课
  17. 攻防世界_江苏工匠杯_MISC_看雪看雪看雪
  18. centos7 安装Zabbix3.0
  19. 计算机能不能升级固态硬盘,不算很老的计算机升级,换一块MLC的固态硬盘吧,新电脑回来了!...
  20. 离散傅立叶变换与逆变换

热门文章

  1. Jackson:Cannot construct instance of **** (although at least one Creator exists):
  2. 努力学习 努力奋斗 踏步而立
  3. 准备Vmware环境
  4. centos7/redhat7创建私有云(owncloud)
  5. 来自一位双非本科大二学生的?自我救赎:堕落——蜕变
  6. 我想用一个外部循环来实现反复调用scrapy来爬取不同的网页内容,但是现在就出现这种情况:
  7. 【厚积薄发系列】C++项目总结21—VS远程调试技巧分享
  8. CANoe不能自动识别串口号?那就封装个DLL让它必须行
  9. 【Android 】零基础到飞升 | 构建一个可复用的自定义BaseAdapter
  10. 安全HCIP之WIDS/WIPS