Como obtenho variáveis da localização no nginx?

11

A localização do nginx conf:

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

Como obtenho variáveis da localização no nginx?

    
por satels 31.08.2011 / 11:48

3 respostas

16

O regex funciona praticamente como em qualquer outro lugar que o tenha.

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

Ver exemplos no wiki nginx também pode ajudar, link

    
por 31.08.2011 / 14:48
10

Além das respostas anteriores, você também pode definir os nomes dos grupos capturados por regex para facilitar o encaminhamento posterior;

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

veja NGINX: verifique se $ remote_user é igual à primeira parte da localização para um exemplo de uso.

    
por 28.10.2014 / 16:59
2

Você pode tentar isto:

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

Tags