Saya melihat dokumentasi nginx dan itu masih membingungkan saya.
Bagaimana cara try_fileskerjanya? Inilah yang dikatakan dalam dokumentasi:
try_files
sintaks: try_files path1 [path2] uri
default: tidak ada
konteks: server, lokasi
ketersediaan: 0.7.27
Memeriksa keberadaan file secara berurutan, dan mengembalikan file pertama yang ditemukan. Garis miring menunjukkan direktori - $ uri /. Jika tidak ada file yang ditemukan, pengalihan internal ke parameter terakhir dipanggil. Parameter terakhir adalah URI cadangan dan harus ada, atau kesalahan internal akan dimunculkan. Tidak seperti penulisan ulang, $ args tidak secara otomatis disimpan jika fallback bukan lokasi yang ditentukan. Jika Anda perlu args dipertahankan, Anda harus melakukannya secara eksplisit:
Saya tidak mengerti bagaimana cara memeriksa lintasan dan bagaimana jika saya tidak ingin kesalahan internal tetapi apakah itu melanjutkan sisa lintasan sebagai upaya untuk menemukan file lain?
Jika saya ingin mencoba file dalam cache /path/app/cache/url/index.htmldan jika gagal mencoba /path/app/index.phpbagaimana saya menulisnya? Jika saya menulis:
try_files /path/app/cache/ $uri
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
Saya punya index index.php index.html index.htm;. Ketika saya mengunjungi /urlname, ia akan mencoba memeriksa /path/app/cache/urlname/index.phpkemudian /path/app/cache/urlname/index.html? Jika kita mengabaikan semuanya setelah try_filesitu, apakah mungkin untuk try_filesmemeriksa folder cache? Saya telah mencoba dan gagal.