目录
1.rewrite
重定向 跳转
2.应用场景
旧域名转变新域名
动态URL变为静态 方便用户查看
服务端业务调整
3.跳转实现及特点
nginx模块 http_rewrite_module模块
最多执行10次 否则返回500
set
RCRE支持
4.格式
rewrite 正则 跳转后的内容 rewrite支持的flag标记(last break redirect permanent set)
### last 完成后继续执行下面内容
break 完成即停止 一般在location下
redirect 302 显示跳转后URL 不更新URL (临时重定向) 匹配即跳转
permanent 301 仙逝跳转后URL 更新URL (永久重定向) 匹配即跳转
set标记 当前规则匹配成功后设置一个变量 并把变量传入下条规则
5.location分类
location = …{ } 精准匹配
location … { } 一般匹配
location … { } 正则匹配
~ | 正则匹配 区分大小写 |
~* | 正则匹配 不区分大小写 |
!~ | 区分大小写取反 |
!~* | 不区分大小写取反 |
^~ | 前缀匹配 成功则停止 |
= | 完全匹配 成功则停止 |
@ | 定义一个命名的location 使用在内部定向时 |
###优先级 精准>前缀>正则>部分起始路径>通用
=>^~>~或~*>常规字符串>/
6.具体应用场景
1.基于域名跳转
域名解析
检查
2.基于客户端ip访问跳转
检查
3.基于旧域名跳转新域名后加的目录
域名解析
检查
4.基于匹配的跳转
检查
5.基于目录下所有php结尾文件跳转
检查
6.基于最普通一条url请求的跳转
检查
7.总结
知道了rewrite的用法以及具体使用场景