nginx的rewrite配置
nginx的rewrite配置
指令语法
1 | rewrite regex replacement [flag]; |
例子,匹配成功后跳转到百度,执行永久301跳转
1 | rewrite ^/(.*) http://www.baidu.com/$1 permanent; |
应用位置
server
、location
、if
flag参数
参数 | 描述 |
---|---|
last | 本条规则匹配完成后继续向下匹配新的location URI规则 |
break | 本条规则匹配完成后终止,不在匹配任何规则 |
redirect | 返回302临时重定向 |
permanent | 返回301永久重定向 |
last
和break
用来实现URL重写,浏览器地址栏的URL地址不变,但在服务器访问的程序及路径发生了变化。
redirect
和permanent
用来实现URL跳转,浏览器地址会显示跳转后的URL地址。
last
和break
标记的实现功能类似,但二者之间有细微的差别,使用alias
指令时必须用last标记,使用proxy_pass
指令时要使用break标记。last
标记在本条rewrite规则执行完毕后,会对其所在的server{}标签重新发起请求,而break
标记则会在本条规则匹配完成后,终止匹配,不再匹配后面的规则。
常用正则表达式
字符 | 描述 |
---|---|
\ | 将后面接着的字符标记为一个特殊字符或者一个原义字符或一个向后引用 |
^ | 匹配输入字符串的起始位置 |
$ | 匹配输入字符串的结束位置 |
* | 匹配前面的字符零次或者多次 |
+ | 匹配前面字符串一次或者多次 |
? | 匹配前面字符串的零次或者一次 |
. | 匹配除”\n”之外的所有单个字符 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 西瓜蓬蓬的静谧庭院!