我看了看nginx文档,它仍然使我完全困惑。
try_files
工作如何?文档说明如下:
try_files
语法:try_files path1 [path2] uri
默认值:无
上下文:服务器,位置
可用性:0.7.27
按顺序检查文件是否存在,并返回找到的第一个文件。后面的斜杠表示目录-$ uri /。如果找不到文件,则调用内部重定向到最后一个参数。最后一个参数是后备URI,并且 必须存在,否则将引发内部错误。与重写不同,如果后备不是命名位置,则不会自动保留$ args。如果需要保留args,则必须明确地这样做:
我不明白它如何检查路径,如果我不希望出现内部错误,却又恢复了路径的其余部分以查找另一个文件该怎么办?
如果我想尝试一个缓存的文件,/path/app/cache/url/index.html
如果尝试失败,/path/app/index.php
该怎么写?如果我写了:
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;
我有index index.php index.html index.htm;
。当我访问/urlname
,它会尝试检查/path/app/cache/urlname/index.php
然后/path/app/cache/urlname/index.html
?如果我们之后忽略所有内容,try_files
是否可以try_files
检查缓存文件夹?我一直在尝试,但失败了。