Ho guardato la documentazione di nginx e mi confonde ancora del tutto.
Come try_filesfunziona? Ecco cosa dice la documentazione:
try_files
sintassi: try_files path1 [path2] uri
impostazione predefinita: nessuna
contesto: server, posizione
disponibilità: 0.7.27
Verifica l'esistenza dei file in ordine e restituisce il primo file trovato. Una barra finale indica una directory - $ uri /. Nel caso in cui non venga trovato alcun file, viene richiamato un reindirizzamento interno all'ultimo parametro. L'ultimo parametro è l'URI di fallback e deve esistere, altrimenti verrà generato un errore interno. Diversamente dalla riscrittura, $ args non viene automaticamente conservato se il fallback non è un percorso denominato. Se hai bisogno di args preservati, devi farlo esplicitamente:
Non capisco come controlla i percorsi e cosa succede se non voglio un errore interno ma devo riprendere il resto del percorso nel tentativo di trovare un altro file?
Se voglio provare un file memorizzato nella cache /path/app/cache/url/index.htmle se non riesce a provare /path/app/index.phpcome lo scriverei? Se scrivessi:
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;
Io ho index index.php index.html index.htm;. Quando visito /urlname, proverò a controllare /path/app/cache/urlname/index.phpallora /path/app/cache/urlname/index.html? Se ignoriamo tutto dopo, try_filesè possibile try_filescontrollare la cartella della cache? Ho provato e ho fallito.