Lokasi dari nginx conf:
location ~/photos/resize/(\d+)/(\d+) {
# Here var1=(\d+), var2=(\d+)
}
Bagaimana cara saya mendapatkan variabel dari lokasi di nginx?
Regex berfungsi cukup seperti di setiap tempat lain yang memilikinya.
location ~/photos/resize/(\d+)/(\d+) {
# use $1 for the first \d+ and $2 for the second, and so on.
}
Melihat contoh-contoh pada nginx wiki juga dapat membantu, http://wiki.nginx.org/Configuration
Selain jawaban sebelumnya, Anda juga dapat mengatur nama grup yang diambil regex sehingga lebih mudah untuk dirujuk nanti;
location ~/photos/resize/(?<width>(\d+))/(?<height>(\d+)) {
# so here you can use the $width and the $height variables
}
lihat NGINX: periksa apakah $ remote_user sama dengan bagian pertama dari lokasi untuk contoh penggunaan.
$1 $2 $3
dll akan merujuk ke nilai-nilai dari regex bersarang, menimpa$1 $2 ...
di regex luar. Sebuahalias /$1
di regex luar , akan menggunakan$1
dari regex dalam , yang kemungkinan menghasilkan file-tidak-ditemukan.(?<width>\d+)
bukan(?<width>(\d+))
, atau ada alasan lain untuk ini - mungkin juga mendapatkan$1
serta$width
?Anda dapat mencoba ini:
sumber