nginx location规则与地址重写

一、location规则介绍

 (1)nginx通过拦截到的请求去对配置好的location块进行请求代理。

 (2)语法规则:

       

location [=|~|~*|^~] /uri/{……}

= :开头表示精准匹配
~: 开头表示区分大小写的正则匹配
~*:开头表示不区分大小写的正则匹配
^~: 开头表示uri以某个常规字符串开头。例:请求为/static/20%/aa 可以被^~ /static/ /aa匹配到
!~:开头表示区分大小写不匹配
!~*:开头表示不区分大小写不匹配。
/:通用匹配

优先规则:=   ^~   按文件中顺序的正则匹配   /

二、地址重写原理与实践

(1)介绍 

       rewirte 即URL 重写,就是把传入web的请求重定向到其他URL的过程。主要实现URL地址的重定向。 需要pcre软件支持。

       1、URL rewirte 最常见的应用是伪静态化,是将动态页面显示为静态页面的技术。

       2、从安全角度上讲,静态的URL地址可以带来更高的安全性。

      3、实现网站地址跳转。

(2)rewirte语法

        

rewrite  <regex>  <replacment>    [flag];
关键字     正则       替代内容       flag标记


flag标记说明:
last   #本条规则匹配完成后,继续向下匹配新的location URI规则
break  #本条规则匹配完成即终止,不再匹配后面的任何规则
redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址
permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL


redirect和permanent的区别:

permanent更加友好,301会直接跳转到新地址;302会比较二个界面更加直观,然后显示比较好的一个

(1)匹配过程中可以引用的一些全局变量

 

全局变量解释
$request_filename当前请求文件的路径名(带root指定的路径)
$request_uri当前请求文件的路径名(不带root指定的路径)
$request_method请求的方法(“get”、“post”)
$request_addr客户端地址
$request_port客户端端口号
$server_addr服务器地址
$server_name请求到达的服务器名

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值