Saya perlu menulis aturan penulisan ulang untuk Nginx sehingga jika pengguna mencoba membuka url gambar lama:
/images/path/to/image.png
dan file tidak ada, cobalah untuk mengarahkan ulang ke:
/website_images/path/to/image.png
HANYA jika gambar ada di URL baru, jika tidak lanjutkan dengan 404. Versi Nginx pada host kami belum memiliki try_files.
Harap jangan gunakan
if
di dalam blok lokasi. Hal-hal buruk dapat terjadi.$1
menjadi nama file untuk dicoba dalam arahan try_files, yang dibuat untuk apa yang ingin Anda capai.Ini, ATAU, tulis ulang saja tanpa memeriksa. Jika gambar itu tidak ada, Anda akan mendapatkan 404.
sumber
try_files
belum"), untuk masa depan pengunjung datang ke sini, jawaban ini pantas lebih up-orang.Anda dapat menggunakan sesuatu seperti ini (tidak diuji untuk kasus spesifik Anda):
Yang pada dasarnya merupakan cara alternatif menulis
if
pernyataan bersarang , karena Anda tidak dapat bersarang di Nginx. Lihat di sini untuk referensi resmi tentang "retasan" ini.sumber