首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx:[emerge]未知"1“变量-使用花括号将变量数字括起来时

nginx:[emerge]未知"1“变量-使用花括号将变量数字括起来时
EN

Stack Overflow用户
提问于 2019-03-07 08:31:21
回答 1查看 274关注 0票数 2

在此规则中

代码语言:javascript
复制
location / {
    rewrite ^/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)$ /index.php?param1=${1}&param2=${2}&param3=${3}&param4=${4}&param5=${5}&param6=${6}&param7=${7}&param8=${8}&param9=${9}&param10=${10} last;
}

我试图传递9个参数的限制,所以我使用了花括号将变量数字括起来,但给出了这个错误消息

代码语言:javascript
复制
nginx: [emerge] unknown "1" variable
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-08 05:11:45

如果在某些表达式中使用某些字符(};),则需要用单引号或双引号将整个表达式括起来。

然而,这个问题与以下事实有关:在Nginx中,只有前9个捕获以数字捕获的形式提供。

但是您可以使用命名捕获(即使只针对第10个捕获)。

例如:

代码语言:javascript
复制
rewrite ^/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(?<a>.+)$
/index.php?param1=$1&param2=$2&param3=$3&param4=$4&param5=$5&param6=$6&param7=$7&param8=$8&param9=$9&param10=$a
last;

命名捕获(?<a>.+)将捕获放入变量$a中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55034295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档