nginx过多参数rewrite配置方法

先来看看个rewrite的配置
rewrite ^/test/para(-a(\d+))?(-b(\d+))?(-c(\d+))?(-d(\d+))?(-e(\d+))?(-f(\d+))?(-g(\d+))?\.html$ 
/web/target.jsp?a=$2&b=$4&c=$6&d=$8&e=$10&f=$12&g=$14;
请求URI: /zhuangxiu/q-a1-b2-c3-d4-e5-f6-p7.html
提问:target.jsp里通过request.getQueryString()获取到的是什么?
理论及期望:a=1&b=2&c=3&d=4&e=5&f=6&g=7
实际:a=1&b=2&c=3&d=4&e=-a10&f=-a12&g=-a14
解决方案:

rewrite ^/test/para(-a(\d+))?(-b(\d+))?(-c(\d+))?(-d(\d+))?(-e(?<ys>\d+))?(-f(?<yt>\d+))?(-p(?<pg>\d+))?\.html$

/web/target.jsp?a=$2&b=$4&c=$6&d=$8&e=$ys&f=$yt&g=$pg;
这个是由于nginx是不支持rewrite参数超过10个的

如果了解named capturing group的同学就很清楚了,后面再简单介绍下named capturing group。




















转载于:https://my.oschina.net/u/565351/blog/125481

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值