Saya melihat dokumentasi nginx dan itu masih membingungkan saya.
Bagaimana cara try_files
kerjanya? 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.html
dan jika gagal mencoba /path/app/index.php
bagaimana 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.php
kemudian /path/app/cache/urlname/index.html
? Jika kita mengabaikan semuanya setelah try_files
itu, apakah mungkin untuk try_files
memeriksa folder cache? Saya telah mencoba dan gagal.