Odpowiedzi:
Wyrażenie regularne działa prawie jak w każdym innym miejscu, które go posiada.
location ~/photos/resize/(\d+)/(\d+) {
# use $1 for the first \d+ and $2 for the second, and so on.
}
Pomocne mogą być również przykłady na wiki nginx, http://wiki.nginx.org/Configuration
Oprócz poprzednich odpowiedzi możesz także ustawić nazwy grup przechwyconych wyrażeń regularnych, aby łatwiej było je później odwoływać;
location ~/photos/resize/(?<width>(\d+))/(?<height>(\d+)) {
# so here you can use the $width and the $height variables
}
zobacz NGINX: sprawdź, czy $ remote_user jest równy pierwszej części lokalizacji na przykład użycia.
(?<width>\d+)
zamiast (?<width>(\d+))
, czy jest jakiś inny powód - być może również $1
tak dobrze $width
?
Możesz spróbować:
location ~ ^/photos/resize/.+ {
rewrite ^/photos/resize/(\d+)/(\d+) /my_resize_script.php?w=$1&h=$2 last;
}
$1 $2 $3
itp. Będą odnosić się do wartości z zagnieżdżonego wyrażenia regularnego, zastępując$1 $2 ...
wyrażenie zewnętrzne. Analias /$1
w zewnętrznym wyrażeniu regularnym użyje wyrażenia$1
z wewnętrznego wyrażenia regularnego, co prawdopodobnie spowoduje, że plik nie zostanie znaleziony.