最近在配置nginx时发生超过9个参数之后取不到值的情况。
参考如下:
http://jimingsong.iteye.com/blog/1770737
http://www.pingshili.com/blog-2-17.html
最后解决,选取重新命名的方式。
这是nginx的rewrite的一个bug,只能获取到$9,再往外全部不能获取到!
生产需求:
死活获取不到$10的值。
死活google之! gogole.com.hk不给力搜索不到,google之!
最后在nginx的官方论坛找到别人碰到的同样问题及牛人给出的解决方法,膜拜下!
截图如下:
解决方法:
Nginx的不支持$ 10和$ 11,但你可以使用命名捕获
我们用 $n0 代替 $10 来实现功能
写法如下:
使用方法:
在你的$10正则括号内加入?<n0>
如:
改为
同理:$11可以换乘$n1,以此类推!
继续在nginx的海洋中畅游!
参考如下:
http://jimingsong.iteye.com/blog/1770737
http://www.pingshili.com/blog-2-17.html
最后解决,选取重新命名的方式。
这是nginx的rewrite的一个bug,只能获取到$9,再往外全部不能获取到!
生产需求:
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的官方论坛找到别人碰到的同样问题及牛人给出的解决方法,膜拜下!
截图如下:
解决方法:
Nginx的不支持$ 10和$ 11,但你可以使用命名捕获
我们用 $n0 代替 $10 来实现功能
写法如下:
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>
如:
\.?(gif|jpg|jpeg|png)$
改为
\.?(?<n0>gif|jpg|jpeg|png)$
同理:$11可以换乘$n1,以此类推!
继续在nginx的海洋中畅游!