作用: 实现对URL的重写以及对匹配(正则表达式)的url的重定向(rewrite的主要功能是实现url地址的重定向。Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。)
配置语法
rewrite <regex> <replacement> [flag];关键字 - 正则 - 替代内容 - flag标记
正则表达式
\ 将后面接着的字符标记为一个特殊字符或一个原义字符或一个向后引用。如“\n”匹配一个换行符,而“
”
则
匹
配
“
”则匹配“
”则匹配“”
^ 匹配输入字符串的起始位置
$ 匹配输入字符串的结束位置
* 匹配前面的字符零次或多次。如“ol*”能匹配“o”及“ol”、“oll”
+ 匹配前面的字符一次或多次。如“ol+”能匹配“ol”及“oll”、“oll”,但不能匹配“o”
? 匹配前面的字符零次或一次,例如“do(es)?”能匹配“do”或者“does”,"?“等效于”{0,1}"
. 匹配除“\n”之外的任何单个字符,若要匹配包括“\n”在内的任意字符,请使用诸如“[.\n]”之类的模式。
(pattern) 匹配括号内pattern并可以在后面获取对应的匹配,常用$0…$9属性获取小括号中的匹配内容,要匹配圆括号字符需要(Content)
flag标记说明
last #本条规则匹配完成后,继续向下匹配新的location URI规则
break #本条规则匹配完成即终止,不再匹配后面的任何规则
redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址
permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址
参考链接:
https://blog.csdn.net/ip_JL/article/details/84422124
https://blog.csdn.net/weixin_40792878/article/details/83316519
https://www.jianshu.com/p/5aa62f9fc6ce
https://www.cnblogs.com/brianzhu/p/8624703.html