设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 5708|回复: 8

[nginx] nginx rewrite不能获取变量$10 $11……解决方法!   [复制链接]

LT管理团队

向Linuxsir的哈密瓜大哥看齐 ...

Rank: 9Rank: 9Rank: 9

签到
520
注册时间
2008-6-5
最后登录
2019-1-23
在线时间
1828 小时
阅读权限
200
积分
63902
帖子
715
主题
199
精华
4
UID
46

LT同学

发表于 2011-9-28 18:30:41 |显示全部楼层
这是nginx的rewrite的一个bug,只能获取到$9,再往外全部不能获取到!

生产需求:
  1. rewrite  "^/([\w]{0,})-([0-9]{4})-([0-9]{2})-([0-9]{2})-([0-9]{2})-([0-9]{0,2})([A-Za-z0-9]{2,34})-([\w]{0,})-([0-9]{0,})\.?(gif|jpg|jpeg|png)$"   /$1-$2-$3-$4-$5-$6$7-$8-$9.$10 last;
复制代码
死活获取不到$10的值。

死活google之! gogole.com.hk不给力搜索不到,翻墙google之!

最后在nginx的官方论坛找到别人碰到的同样问题及牛人给出的解决方法,膜拜下!URL:http://forum.nginx.org/read.php?2,88507
截图如下:
nginx_rewrite_bug.png



解决方法:
Nginx的不支持$ 10和$ 11,但你可以使用命名捕获
我们用 $n0 代替 $10  来实现功能
写法如下:
  1. rewrite  "^/([\w]{0,})-([0-9]{4})-([0-9]{2})-([0-9]{2})-([0-9]{2})-([0-9]{0,2})([A-Za-z0-9]{2,34})-([\w]{0,})-([0-9]{0,})\.?(?<n0>gif|jpg|jpeg|png)$"  /$1-$2-$3-$4-$5-$6$7-$8-$9.$n0 last;
复制代码


使用方法:
在你的$10正则括号内加入?<n0>  
如:
  1. \.?(gif|jpg|jpeg|png)$
复制代码
改为
  1. \.?(?<n0>gif|jpg|jpeg|png)$
复制代码
同理:$11可以换乘$n1,以此类推!
继续在nginx的海洋中畅游!



哈密瓜!一个热爱linux的水果!
gtalk/msn:hamgua@gmail.com
sina微博:http://weibo.com/hamgua
LTmail:hamgua@linuxtone.org
是雄鹰就有展翅飞翔的时候,不是雄鹰要制造展翅飞翔的时候!

Rank: 8Rank: 8

注册时间
2010-2-26
最后登录
2017-5-2
在线时间
600 小时
阅读权限
90
积分
82550
帖子
789
主题
41
精华
0
UID
8062
发表于 2011-9-28 18:50:45 |显示全部楼层
膜拜瓜哥~
<-sina_sign,1300626711,936f3b91,1->

使用道具 举报

Rank: 4

注册时间
2011-5-12
最后登录
2014-7-21
在线时间
19 小时
阅读权限
50
积分
1859
帖子
17
主题
1
精华
0
UID
13605
发表于 2011-10-6 11:26:28 |显示全部楼层
:lol:lol 有才。

使用道具 举报

LT管理团队

向Linuxsir的哈密瓜大哥看齐 ...

Rank: 9Rank: 9Rank: 9

注册时间
2008-6-5
最后登录
2019-1-23
在线时间
1828 小时
阅读权限
200
积分
63902
帖子
715
主题
199
精华
4
UID
46

LT同学

发表于 2011-10-9 09:45:10 |显示全部楼层
回复 make1314 的帖子

你可以用 $b1 $b2嘛!
哈密瓜!一个热爱linux的水果!
gtalk/msn:hamgua@gmail.com
sina微博:http://weibo.com/hamgua
LTmail:hamgua@linuxtone.org
是雄鹰就有展翅飞翔的时候,不是雄鹰要制造展翅飞翔的时候!

使用道具 举报

Rank: 6Rank: 6

注册时间
2010-6-21
最后登录
2013-1-28
在线时间
96 小时
阅读权限
70
积分
6786
帖子
151
主题
14
精华
0
UID
9588
发表于 2011-10-9 10:25:26 |显示全部楼层
回复 gyl4802959 的帖子

${10}不行?

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-6-3
最后登录
2014-5-22
在线时间
154 小时
阅读权限
70
积分
7563
帖子
265
主题
43
精华
0
UID
3391
发表于 2011-10-9 22:36:39 |显示全部楼层
膜拜一下了

使用道具 举报

Rank: 1

注册时间
2011-9-6
最后登录
2011-11-18
在线时间
3 小时
阅读权限
1
积分
19
帖子
2
主题
0
精华
0
UID
15609
发表于 2011-11-7 13:31:29 |显示全部楼层
学习了。

使用道具 举报

论坛元老

社区清洁工

Rank: 8Rank: 8

注册时间
2010-2-8
最后登录
2019-2-21
在线时间
304 小时
阅读权限
90
积分
46778
帖子
773
主题
29
精华
0
UID
7902
发表于 2011-11-22 16:49:29 |显示全部楼层
bikong0411 发表于 2011-9-28 18:50
膜拜瓜哥~

碧碧V5!
每天抽空上论坛学习,一步一步把基础打牢,做个技术专才。

使用道具 举报

Rank: 6Rank: 6

注册时间
2010-10-25
最后登录
2013-1-11
在线时间
9 小时
阅读权限
70
积分
2787
帖子
51
主题
1
精华
0
UID
10704
发表于 2012-2-10 20:39:09 |显示全部楼层
学习一下 顶楼主 谢谢

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2019-12-6 01:39 , Processed in 0.025891 second(s), 16 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部