作用场景:
- URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等
- SEO优化
- 维护:后台维护、流量转发等
- 安全
调整用户浏览的URL,看起来规范 为了让搜索引擎收录网站内容,让用户体验更好 网站更换新域名后 根据特殊的变量、目录、客户端信息进行跳转
注:nginx官方文档:http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
1、rewrite语法:
- 指令语法:rewrite regex replacement[flag];
- 默认值:none
- 应用位置:server、location、if
- rewrite是实现URL重定向的重要指令,他根据regex(正则表达式)来匹配内容跳转到replacement,结尾是flag标记
简单的小例子:
# 匹配成功后跳转到百度,执行永久301跳转
rewrite ^/(.*) http://www.baidu.com/ permanent;
常用正则表达式:
字符 | 描述 |
---|---|
\ | 将后面接着的字符标记为一个特殊字符或者一个原义字符或一个向后引用 |
^ | 匹配输入字符串的起始位置 |
$ | 匹配输入字符串的结束位置 |
* | 匹配前面的字符零次或者多次 |
+ | 匹配前面字符串一次或者多次 |
? | 匹配前面字符串的零次或者一次 |
. | 匹配除“n”之外的所有单个字符 |
(pattern) | 匹配括号内的pattern |
rewrite 最后一项flag参数:
标记符号 | 说明 |
---|---|
last | 停止rewrite检测【如果没有匹配到,会继续向下匹配】 |
break | 停止rewrite检测【如果没有匹配到,则不再向下匹配,直接返回结果404 |
redirect | 返回302临时重定向,地址栏会显示跳转后的地址 |
permanent | 返回301永久重定向,地址栏会显示跳转后的地址 |
评论 (0)