NGINX menulis ulang sintaks di dalam blok lokasi

8

Mungkin pertanyaan bodoh, tapi sepertinya saya tidak menemukan dokumentasi atau contoh yang bagus untuk ini ...

Saat Anda menggunakan blok lokasi untuk memfilter permintaan masuk, apakah Anda menulis ulang dari lokasi yang cocok atau dari awal permintaan?

Sebuah contoh:

location ^~ /category/ {
    rewrite ^/category/paid-search-news/?$ /tag/paid-search permanent; # this,
    rewrite ^paid-search-news/?$ /tag/paid-search permanent; # this,
    rewrite paid-search-news/?$ /tag/paid-search permanent; # or this?
}
mungkin sampai
sumber

Jawaban:

4

Dari awal permintaan. Ada dokumentasi tentang itu di sini .

location /download/ {
  rewrite  ^(/download/.*)/media/(.*)\..*$  $1/mp3/$2.mp3  break;
  rewrite  ^(/download/.*)/audio/(.*)\..*$  $1/mp3/$2.ra   break;
  return   403;
}
coredump
sumber
3

The dokumentasi menyiratkan bahwa URL lengkap cocok (yaitu contoh pertama Anda).

Mgorven
sumber