nginx之rewrite用法

rewrite用法

在这里插入图片描述

【语法】 rewrite regex replacement [flag];
flag=【break|last|redirect|permant】
regex: 是正则表达式;
replacement:是替换值,是新值;
flag: 处理标志,可以省略。

rewrite配置文件

server {
listen       80;
server_name  rewrite.smallboy.com;

location /a.html {
    root html;
}

#访问 http://rewrite.smallboy.com/aa.html
location /aa.html { 
    rewrite ^/ /a.html break;
    root html/static/; 
}
location /cc {
    rewrite ^/ /a.html last;
    root html/static/;
}


#访问http://rewrite.smallboy.com/ab.html
location /ab.html { 
    rewrite ^/ /a.html last;
#   rewrite ^/ /b.html;
    root html/static/; 
}

location /wanglei {
    rewrite ^/ /a.html redirect;
    root html/static/;
}
}

http://rewrite.smallboy.com/aa.html
本来在html/static目录下面查找aa.html,rewrite将原先的路径改为/a.html,在html/static查找a.html。

在这里插入图片描述

flag参数含义

flag=【break|last|redirect|permant|不写】

redirect/permant

redirect/permant: 如果rewrite 命中,则为页面重定向;

#访问http://rewrite.smallboy.com/wanglei 页面会变http://rewrite.smallboy.com/a.html
在这里插入图片描述
break/last

break/last是内部重定向:

break标记:停止执行后续命令

last标记:会引发location重新匹配
在这里插入图片描述
flag无值与有值区别
当flag有值时,rewrite值会中断,last会引发location重匹配;

当flag无值时,rewrite会继续往下走,最后一个rewrite值覆盖前面,在引发location重新匹配。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值