在http模块有server模块,在server模块才有location模块, location匹配的是uri
location 匹配一旦成功,就不向下匹配
一、location的分类:
1.精确匹配
location = /test
2.正则匹配
location ^~ :前缀匹配,以什么为开头
 location ~ 区分大小写匹配
 location ~* 不区分大小写匹配
 location !~ 区分大小写取反匹配
 location !~* 不区分大小写取反匹配
  
3.通用匹配
location /test {}
4.一般匹配
location / {}
5.location的优先级(由左到右)
精确匹配---正则匹配--一般匹配
 location = 完整路径 > location^~ > location ~,~* > location/test>location /
6、工作当中配置location的原则:
1.网站首页:都是精确匹配网站首页都是一 个静态页面。匹配网站的根工作目录
location = / {
}
2、处理静态文件的请求:目录匹配和后缀匹配
location ^~ /static {
}
location ~\.{jpg|png}$ {
}
3、一般规则: 动态请求,把动态请求转发的后端
location / {
	proxy_pass http://tomcat.server;
}
nginx的重定向
rewrite:结合nginx提供的全局变量和自定义的变量,结合正则表达式以及标志位实现usi重写以及重定向。
rewrite执行顺序:
1、执行server块里的rewrite
 2、执行loaction里面定义的rewrite
 3、选定location中的rewrite
 rewrite中而可以执行if语句,只有if没有else
rewrite格式:
rewrie<reagex><replacemnet>[flag]
 <regex>:正则表示式
 <replacemnet>: 跳转的内容或者路径
 [flag]: 标志位 标记
         flag:
         last:本条规则匹配完成后,继续向下匹配新的location uri规则
         break:本条规则匹配完成之后立即终止,页面内容变化,uri不变     用的比较多点
         redirect:临时重定向302 uri的地址会发生变化
         permanent:永久重定向301 uri的地址会发生变化
  
rewrite /test/(.*) /ky32/$1 permanent;
 .*:匹配所有
 $1:表示捕获组 $1应用正则表达式的第一个捕获组
 从www.ky32.com/test/index.html 1jpg
 跳转到www.ky32.com/ky32/index.html 1.jpg
 会影响搜索引擎的权重
 永久重定向会加入搜索引擎的排名
 临时不会加搜索引擎的权重

报错internal redirection cycle while processing这个的原因:
 处理请求时发生了重写或者内部重定向循环,进入了无限循环。nginx循环最多可以执行10次,会报错500
总结: rewrite和locationt都可以跳转,似乎有点相似,但是区别在
 rewrite是在同一域名之内更改获取资源的路径
 location是对路径访问控制。
基于ip跳转
公司业务新版本上线,用户访问网站统一显示固定的维护页面只有公司的192.168.233,61可以访问。
在vim /usr/local/nginx/conf/nginx.conf下





![2023年中国商业版服务器操作系统市场发展规模分析:未来将保持稳定增长[图]](https://img-blog.csdnimg.cn/img_convert/f2945dd898ffe19816297b0fe41631b1.png)















