Nginx之rewrite四种flag
利用nginx的rewrite命令,可以实现URL的重写,可在nginx配置文件的server、location、if部分使用,对于rewrite有四种不同的flag。
redirect:返回302临时重定向,浏览器地址栏会显示跳转后的URL地址,爬虫不会更新URL
permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址,爬虫会更新URL
break:停止处理后续rewrite指令集,不会跳出location作用域,不再进行重新查找,终止匹配,URL地址不变
last:停止处理后续rewrite指令集,跳出location作用域,并开始搜索与更改后的URI相匹配的location,URL地址不变
其中redirect和permanent很好理解,直接对URL地址进行重定向,显示跳转后的URL地址,从实现功能的角度看,redirect和permanent是一样的,不存在好坏和性能上的问题,主要会对seo所有影响。
举例说明break和last,下面是一个配置示例:
|
1
2
3
4
5
6
7
8
9
10
11
|
location /abc/ {
rewrite ^/abc/(.*) /whsir/$1 break;
return 401;
}
location /opq/ {
rewrite ^/opq/(.*) /whsir/$1 last;
return 402;
}
location /whsir/ {
return 403;
}
|
访问http://DEMO/abc/*时,返回404,如果whsir目录下存在对应文件则返回200
访问http://DEMO/opq/*时,匹配到了/whsir/,然后跳出location作用域,匹配到了location /whsir/,然后返回403
break和last一样都会停止处理后续rewrite模块指令的运行,但是last会重新发起一个请求,并重新匹配location
Nginx之rewrite四种flag的更多相关文章
- URL Rewrite(四种重定向策略)
目录 一:Rewrite基本概述 1.Rewrite简介 2.Rewrite基本概述 3.Rewrite作用 4.什么是URL? 二:rewrite语法 三:Rewrite标记Flag 1.last和 ...
- Nginx 实现 Rewrite 跳转
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 上一篇文章对Nginx的Location配置进行了讲解,本篇主要对于Nginx中的Rewrite跳转进行讲解. ...
- nginx 和 tp兼容pathinfo和rewrite两种url访问方式
环境:centos7,yum安装的nginx1.10.php-fpm,tp3.2 本方法只需要配置nginx.conf的一个文件就可以支持pathinfo和rewrite两种url访问方式 vim / ...
- Activity四种启动模式与Flag及affinity属性详解
Activity有四种加载模式:standard(默认).singleTop.singleTask.singleInstance standard:Activity的默认加载模式,即使某个Activi ...
- nginx、TP框架实现兼容pathinfo和rewrite两种url访问方式
环境:centos7,yum安装的nginx1.10.php-fpm,tp3.2 本方法只需要配置nginx.conf的一个文件就可以支持pathinfo和rewrite两种url访问方式 vim / ...
- 一篇文章说透Nginx的rewrite模块
rewrite模块即ngx_http_rewrite_module模块,主要功能是改写请求URI,是Nginx默认安装的模块.rewrite模块会根据PCRE正则匹配重写URI,然后发起内部跳转再匹配 ...
- nginx之rewrite相关功能
Nginx Rewrite相关功能 Nginx服务器利用ngx_http_rewrite_module 模块解析和处理rewrite请求,此功能依靠 PCRE(perl compatible regu ...
- Nginx实现rewrite重写
目录 Rewrite基本概述 Rewrite标记Flag Rewrite规则实践 Rewrite场景示例 Rewrite规则补充 rewrite优先级实战 Rewrite基本概述 什么是rewrite ...
- 04 . Nginx的Rewrite重写
Rewrite简介 # Rewrite对应URL Rewrite,即URL重写,就是把传入web的请求重定向到其他URL的过程. # 当运维遇到要重写情况时,往往是要程序员把重写规则写好后,发给你,你 ...
随机推荐
- 彻底解决eslint与webstorm针对vue的script标签缩进处理方式冲突问题
彻底解决eslint与webstorm针对vue的script标签缩进处理方式冲突问题 2018年12月08日 21:58:26 Kevin395 阅读数 1753 背景不多介绍了,直接上代码. ...
- vue 中 v-model
一.v-model: 先上段简单的 vue 代码: // 定义 v-model 示例组件 Vue.component('bindData', { template:` <div> < ...
- 泰乐事(Telos)白皮书中文版 <一> 泰乐事项目(未完成)
泰乐事项目 一个可持续发展的去中心化EOSIO网络 EOS系统在设计上为人们带来了令人惊喜的一种实现新经济模式的承诺.然而很不幸,其高度中心化的运营正不断地破坏这种承诺.90%的EOS代币掌握在仅仅1 ...
- CF1153E Serval and Snake【构造】
题目链接:洛谷 这道题是很久以前NTF跟我说的,现在想起来把它做了... 我们发现,如果蛇的两头都在矩形里或矩形外,则询问为偶数,否则为奇数. 所以我们询问每一行和每一列,就能知道蛇的两头的横纵坐标了 ...
- RabbitMQ 和 Kafka 的消息可靠性对比
RabbitMQ和Kafka都提供持久的消息保证.两者都提供至少一次和至多一次的保证,另外,Kafka在某些限定情况下可以提供精确的一次(exactly-once)保证. 让我们首先理解一下上述术语的 ...
- 十八、centos7网络属性配置
一.为什么需要这个 服务器通常有多块网卡,有板载集成的,同时也有插在PCIe插槽的.Linux系统的命名原来是eth0,eth1这样的形式,但是这个编号往往不一定准确对应网卡接口的物理顺序.为解决这类 ...
- windows下安装node.js及环境配置、部署项目
windows下安装node.js及环境配置.部署项目 一.总结 一句话总结: 安装nodejs软件:就像普普通通的的软件那样安装 配置nodejs安装的全局模块的环境变量 并且安装cnpm(比如cn ...
- 重新部署环境之后,总是提示表doesn't have a default value
SQLSTATE[HY000]: General error: 1364 Field 'college' doesn't have a default value 数据库严格模式开启了,解决方法: ...
- Java synchronized和Lock
Synchronized 1. 将synchronized加在方法上, 即可实现对此方法的同步 public synchronized void deposit(float amt) { float ...
- SQL-W3School-基础:SQL DISTINCT 语句
ylbtech-SQL-W3School-基础:SQL DISTINCT 语句 1.返回顶部 1. 本章讲解 SELECT DISTINCT 语句. SQL SELECT DISTINCT 语句 在表 ...