Rewite 规则作用
Rewrite规则可以实现对url的重写,以及重定向
作用场景:
URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等
SEO优化
维护:后台维护、流量转发等
安全
1、配置语法:
语法: rewrite [正则表达式 替换前的URL] [替换后的URL] [标识];
配置位置: server域/location域/if判断里
配置实例: rewrite ^(.*)$ /pages/maintain.html break; # 把所有的请求都跳转至maintain.html页面, break是一个标识符.
2、常用的正则表达式规则:
. 匹配除换行符以外的任意字符
? 重复0次或1次
+ 重复1次或多次
* 最少链接数, 哪台服务器的连接数少就往那台服务器分发
\d 匹配数字
^ 匹配字符串的开始
$ 匹配字符串的结尾
{n} 重复n次
{n,}重复n或更多次
[c] 匹配单个字符c
[a-z] 匹配a-z小写字母中的任意一个
\ 转义字符, 如: 转义一个后缀的点(index\.html$)
() 匹配括号之间的内容, 通过$1、$2调用
特别说明一下$1的使用
if($http_user_agent ~ MSIE){
rewrite ^(.*)$ /msie/$1 break; //(.*) 匹配所有文件名, 将其路径改为/msie/[该文件名]
}
3、标识说明:
last 停止rewrite的检测
break 停止rewrite的检测
redirect 返回302临时重定向, 地址栏会显示跳转后的地址
permanent 返回301永久重定向, 地址栏会显示跳转后的地址(后面再次访问也会定向至该地址, 除非清理缓存)