**rewirte规则也称为规则重写,主要功能是实现浏览器访问 Http URL的跳转,其正则表达式是基于Perl语言。通常而言,几乎所有的Web服务器均可以支持URL重写。**
rewrite URL规则重写的用途
- 对搜索引擎优化( search engine optimization,SEO)友好,利于搜索引擎抓取网站页面;
- 隐藏网站URL真实地址,浏览器显示更加美观;
- 网站更换新域名后,可以基于 rewrite临时重定向到其他页面。
Nginx rewrite规则使用中有3个概念,分别是 rewrite结尾标识符、 rewrite规则常用表
达式、 Nginx rewrite变量
3个概念的详解:
-
Nginx rewrite结尾标识符,用于 rewrite规则末尾,表示规则的执行属性,详解如下:
last:相当于 Apache里的(L)标记,表示完成 rewrite匹配。
break:本条规则匹配完成后,终止匹配,不再匹配后面的规则。
redirect:返回302临时重定向,浏览器地址会显示跳转后的URL地址。
permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址。*其中last和 break用来实现URL重写时,浏览器地址栏URL.地址不变*
-
Nginx rewrite规则常用表达式,主要用于匹配参数、字符串及过滤设置。详解如下:
/ | 将后面接着的字符标记为一个特殊字符或者一个原义字符或一个向后引用 |
^ | 匹配输入字符串的起始位置 |
$ | 匹配输入字符串的结束位置 |
* | 匹配前面的字符零次或者多次 |
+ | 匹配前面字符串一次或者多次 |
? | 匹配前面字符串的零次或者一次 |
. | 匹配除“\n”之外的所有单个字符 |
(pattern) | 匹配括号内的pattern |