nginx下rewrite参数超过9个的解决方法

时间:2021-05-08 20:34:55

nginx 在处理多于9个参数的时候,是采用重命名的方法来实现的:

/?m?([0-9,]*)h?(\d*)a?([0-9,]*)c?(\d*)s?(x?f?(?P<f>[0-9,]*)/$ /index.php?param1=$1&param2=$2&param3=$3param4=$4&param5=$5&param6=$6&param7=$7&param8=$8&param9=$9&param10=$f last;

注意第10个参数f 通过?P<f>重命名为f ,当然也可以是其他名字,$f也要改成一致的就行了,如果有第11个参数o3,则在f?(?P<f>[0-9,]*)后面添加o?(?P<j>\d*)即可,对应的param10=$f 后面也要加&param11=$j。nginx 没有类似于apache 的修正符。