【发布时间】:2019-03-09 05:27:36
【问题描述】:
在这条规则中
location / {
rewrite ^/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)$ /index.php?param1=${1}¶m2=${2}¶m3=${3}¶m4=${4}¶m5=${5}¶m6=${6}¶m7=${7}¶m8=${8}¶m9=${9}¶m10=${10} last;
}
我试图传递 9 个参数的限制,所以我在变量编号周围使用了花括号,但给了我这个错误消息
nginx: [emerge] unknown "1" variable
【问题讨论】:
-
也许它没有 ${
1} 的定义。是否以其他方式分配给其他地方,例如$1 = "hey"?另外,正则表达式(.+)<space>/index中似乎有一个文字空间 -
@sln 我不太了解 nginx 如何进行重写,但如果我使用
$1而不是${1},即使我以$结束正则表达式,它也会按预期工作,但会立即添加以防止混淆。 -
任何包含大括号的表达式都必须用引号引起来。
-
@RichardSmith 如
${"1"}? -
@RichardSmith 修正了错字并使用了引号,但给了我与上面相同的错误,我认为数字参数的限制为 9
标签: php regex nginx url-rewriting