| nginx的正则表达式 | |
| 符号 | 含义 |
| ^ | 字符串的起始位置(以什么开头) |
| $ | 字符串的结束位置(以什么结尾) |
| * | 匹配所有 |
| + | 匹配前面的字符最少1次 |
| ? | 匹配前面的字符0次或者1次 |
| . | 任意单个字符 |
| {n} | 连续重复出现n次 |
| {n,m} | 连续重复n-m次 |
| [c] | 匹配单个字符c |
| () | 分组 |
| | | 或 |
1、精确匹配:完整路径,一个字不能少,也不能错
(1)格式:location = / {}
2、正则匹配
(1)格式:location ~ / {}
| 正则匹配符号 | 含义 |
| ^~ | 前缀匹配,以什么为开头 |
| ~ | 区分大小写进行匹配 |
| ~* | 不区分大小写进行匹配 |
| !~ | 区分大小写取反匹配 |
| !~* | 不区分大小写取反匹配 |
location = 完整路径 > location ^~ > location~/~* > location /test > location /
①格式:
location = / {
}
①格式:
location ^~ /static {
}
location ~* \. (html|jpg|jepg)$ {
}
①格式:
location / {
proxy_pass http://tomcat server;
}




1、rewrite:结合nginx提供的全局变量和自定义的变量,结合正则表达式以及标志位实现
url重写以及重定向
2、rewrite中可以添加if语句,但只有if没有else
1、执行server块里面的rewrite
2、执行location里面定义的rewrite
3、选定location中的rewrite
格式:rewrite


internal redirection cycle while processing:
处理请求时发生了重写或者内部重定向循环,进入了无限循环,nginx内部循环最多可以执行10次,超过10次会报错500







.* :表示匹配所有
$1 :表示捕获组,$1表示引用正则表达式的第一个捕获组
www.yyy.com/test/index.html 1.jpg
www.yyy.com/ky32/index.html 1.jpg
$1 匹配就是(.*)里的内容


1、表面上rewrite和location都可以跳转,但区别在于rewrite是在同一域名之内更改获取资源的路径
2、location是对路径访问控制,匹配到之后不再向下继续匹配
3、临时重定向和永久重定向(会影响搜索引擎的权重)
(1)永久重定向会加入搜索引擎的权重
(2)临时重定向不会加入搜索引擎的权重
www.yyy.com,公司业务变更,迁移到了新的域名www.benet.com代替,但是旧域名不能被废除(访问yyy可以跳转到benet,且匹配的uri不能变)



公司业务新版本上线,用户访问网站统一显示固定的维护页面,只有公司的20.0.0.xx可以访问






上一篇:MySQL题库(1)