Nginx belgelerine baktım ve hala beni tamamen şaşırtıyor.
Nasıl try_filesçalışır? İşte belgeler ne diyor:
try_files
sözdizimi: try_files path1 [path2] uri
varsayılan: yok
bağlam: sunucu, konum
kullanılabilirlik: 0.7.27
Dosyaların varlığını sırayla denetler ve bulunan ilk dosyayı döndürür. Sondaki eğik çizgi bir dizini gösterir - $ uri /. Hiçbir dosya bulunamaması durumunda, son parametreye dahili bir yönlendirme çağrılır. Son parametre geri dönüş URI'sidir ve var olması gerekir , aksi takdirde dahili bir hata ortaya çıkar. Yeniden yazma işleminden farklı olarak, geri dönüş adlandırılmış bir konum değilse, $ args otomatik olarak korunmaz. Eğer korumaya ihtiyacınız varsa, bunu açıkça yapmanız gerekir:
Yolları nasıl kontrol ettiğini anlamıyorum ve dahili bir hata istemiyorsam ancak başka bir dosyayı bulmak için yolun kalanını devam ettirirse ne olur?
Önbelleğe alınmış bir dosyayı denemek istersem /path/app/cache/url/index.htmlve denemezse /path/app/index.phpnasıl yazarım? Yazdıysam:
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;
Benim var index index.php index.html index.htm;. Ben ziyaret ettiğinizde /urlname, bu kontrol çalışacağız /path/app/cache/urlname/index.phpsonra /path/app/cache/urlname/index.html? Her şeyi görmezden gelirsek , önbellek klasörünü kontrol etmek try_filesmümkün müdür try_files? Denedim ve başarısız oldum.