Nginx中的rewrite指令(break,last,redirect,permanent)
转载自: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匹配规则及优先级
- = 严格匹配这个查询。如果找到,停止搜索。
- ^~ 匹配路径的前缀,如果找到,停止搜索。
- ~ 为区分大小写的正则匹配
- ~* 为不区分大小写匹配
优先级: =, ^~, ~/~*, 无
break语句
放在server块rewrite语句前面
如果是直接请求某个真实存在的文件,则用break语句停止rewrite检查
if (-f $request_filename) {
break;
}
Nginx中的rewrite指令(break,last,redirect,permanent)相关推荐
- Nginx:rewrite指令(break,last,redirect,permanent)
rewite指令 在 server 块下,会优先执行 rewrite 部分,然后才会去匹配 location 块.因为 server 块中 rewrite 的 break 和 last 没什么区别,执 ...
- nginx php permanent,Nginx中的rewrite指令详解(break,last,redirect,permanent)
rewite 在server块下,会优先执行rewrite部分,然后才会去匹配location块 server中的rewrite break和last没什么区别,都会去匹配location,所以没必要 ...
- nginx中的rewrite用法及实例
本文转载自http://blog.csdn.net/xy2204/article/details/47749405,本来想自己总结的,但还是觉得人家写的更好一些,所以就转载下来.最下面附有我的一个小例 ...
- nginx中的try_files指令解释
try_files 指令的官方介绍比较让人摸不着头脑,经网上一番总结查看,try_files最核心的功能是可以替代rewrite. try_files 语法: try_files file ... u ...
- Nginx中常用的指令配置详解
rewrite指令的作用:是做一些访问匹配规则的判断,从而实现相应的操作. location / { proxy_pass http://192.168.1.5 if (-d $request_fil ...
- nginx中的location指令
1.location 介绍 location是Nginx中的块级指令(block directive),location指令的功能是用来匹配不同的url请求,进而对请求做不同的处理和响应,这其中较难理 ...
- Nginx核心模块——HTTP中的配置指令location和rewrite介绍
文章目录 一.正则表达式在学习 1.1 常用的Nginx 正则表达式 二.访问路由location 2.1 location的分类 2.2 location 常用的匹配规则: 2.3 location ...
- 实例演示Nginx重写(Rewrite)类型last、break、redirect和permanent的区别
本文使用之前制作的Docker容器<<Docker案例:搭建nginx服务>>演示Nginx四种重写类型的区别和效果,如果尚未构建Docker服务可参考之前的文章,或者自建Ng ...
- Nginx中的location规则与rewrite重写(详解)
内容预知 1.Nginx中location与rewrite 1.1 location与rewrite常用的正则表达式 1.2 location与rewrite的联系和区别 2.location的匹配 ...
最新文章
- openpyxl安装_自拍教程76Python 一键批量安装第三方包
- (转载)Android GradientDrawable(shape标签定义) 静态使用和动态使用(圆角,渐变实现)
- rrt算法流程图_RRT算法移动机器人路径规划(快速扩展随机树).pdf
- Android 最火高速开发框架AndroidAnnotations使用具体解释
- 微信开发之JSSDK权限配置,服务器端获取签名等参数(java实现)
- Word2003中Visio2003图打印错误的解决方法
- 离散度计算公式 python_Python实现熵值法确定权重
- autoreconf: command not found
- 欧盟 | 地平线 2020 ENSEMBLE:D2.13 SOTIF Safety Concept(上)
- 加州大学洛杉玑分校计算机专业,UCLA的Computer Science「加州大学洛杉矶分校计算机科学系」...
- Linux入侵痕迹清理
- mysql utl_file_Oracle中utl_file包的使用
- 文通科技OCR识别|电子护照阅读器
- 微信办公时代,企业文化也能撑起企业的半壁江山?
- 每天一练——输入一行字符串,按如下规则加密:如果是英文字母则大写变小写、小写变大写,对非英文字符则保持不变。试写加密程序。
- 读书随想2 - 格鲁夫给经理人的第一课
- 攻防世界_江苏工匠杯_MISC_看雪看雪看雪
- centos7 安装Zabbix3.0
- 计算机能不能升级固态硬盘,不算很老的计算机升级,换一块MLC的固态硬盘吧,新电脑回来了!...
- 离散傅立叶变换与逆变换
热门文章
- Jackson:Cannot construct instance of **** (although at least one Creator exists):
- 努力学习 努力奋斗 踏步而立
- 准备Vmware环境
- centos7/redhat7创建私有云(owncloud)
- 来自一位双非本科大二学生的?自我救赎:堕落——蜕变
- 我想用一个外部循环来实现反复调用scrapy来爬取不同的网页内容,但是现在就出现这种情况:
- 【厚积薄发系列】C++项目总结21—VS远程调试技巧分享
- CANoe不能自动识别串口号?那就封装个DLL让它必须行
- 【Android 】零基础到飞升 | 构建一个可复用的自定义BaseAdapter
- 安全HCIP之WIDS/WIPS