nginx: [emerge] неизвестная переменная «1» - при использовании фигурных скобок вокруг чисел переменных - PullRequest
1 голос
/ 07 марта 2019

В этом правиле

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 параметров, поэтому я использовал фигурные скобки вокруг номеров переменных, но дал мне это сообщение об ошибке

nginx: [emerge] unknown "1" variable

1 Ответ

0 голосов
/ 08 марта 2019

Если вы используете определенные символы (} или ;) в некоторых выражениях, вам нужно заключить все выражение в одинарные или двойные кавычки.

Однако этот вопрос относится к тому факту, что толькопервые 9 захватов доступны в виде числовых захватов в Nginx.

Но вы можете использовать именованные захваты (даже если только для 10-го захвата).

Например:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...