rewrite

rewrite功能就是,使用nginx提供的全局变量或自已设置的变量,结合正则表达式和标记位实现URL重写以及重定向。

比如:更换域名后需要保持旧的域名能跳转到新的域名上、某网页发生改变需要跳转到新的页而、网站防盗链等等需求。

Rewrite跳转场景●使用rewrite进行匹配跳转 ●使用if匹配全局变量后跳转 ●使用location匹配再跳转 rewrite放在server{},if{},location{} 段中 ●location只对域名后边的除去传递参数外的字符串起作用 对域名或参数字符串 ●使用if全局变量匹配 ●使用proxy_pass反向代理

rewrite只能放在server{}, location{},if{}中,并且默认只能对域名后边的除去传递的参数外的字符串起作用, 例如http:/ /www。kgc。com/ abc/bbs/ index。php?a=1&b=2 只对/abc/bbs/ index . php重写。 rewrite跳转实现: Nginx: 通过ngx_ http_ rewrite_ module 模块支持URL重写、支持if条件判断,但不支持else 跳转:从一个location跳转到另一- 个location,循环最多可以执行10次,超过后nginx将返回500错误 PCRE支持: perl兼容 正则表达式的语法规则匹配 重写模块set指令:创建新的变量并设其值 rewrite 执行顺序如下: (1) 执行server 块里而的rewrite 指令。 (2) 执行location 匹配。 (3) 执行选定的location 中的rewrite指令。 语法格式: rewrite <regex> <replacement> [flag]; regex :表示正则匹配规则。 replacement :表示跳转后的内容。 flag :表示rewrite 支持的flag 标记。

语法格式: rewrite <regex> <replacement> [flag]; regex :表示正则匹配规则。 replacement :表示跳转后的内容。 flag :表示rewrite 支持的flag标记。