11

Расположение из nginx conf:

location ~/photos/resize/(\d+)/(\d+) {
    # Here var1=(\d+), var2=(\d+)
}

Как получить переменные из локации в nginx?

3 ответа3

16

Регулярное выражение работает почти так же, как и в любом другом месте, где оно есть.

location ~/photos/resize/(\d+)/(\d+) {
  # use $1 for the first \d+ and $2 for the second, and so on.
}

Также может помочь просмотр примеров на вики nginx, http://wiki.nginx.org/Configuration

10

В дополнение к предыдущим ответам вы также можете установить имена захваченных регулярных выражений, чтобы их было легче отсылать позже;

location ~/photos/resize/(?<width>(\d+))/(?<height>(\d+)) {
  # so here you can use the $width and the $height variables
}

см. NGINX: проверьте, равняется ли $ remote_user первой части местоположения для примера использования.

2

Вы можете попробовать это:

location ~ ^/photos/resize/.+ {
    rewrite ^/photos/resize/(\d+)/(\d+) /my_resize_script.php?w=$1&h=$2 last;
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .