1.try_files语法
Syntax: try_files file ... uri;
try_files file ... =code;
Default: —
Context: server, location
nginx的try_file路径匹配,Nginx会按顺序检查文件及目录是否存在(根据 root 和 alias 指令设置的参数构造完整的文件路径),并用找到的第一个文件提供服务。在元素名后面添加斜杠 / 表示这个是目录。如果文件和目录都不存在,Nginx会执行内部重定向,跳转到命令的最后一个 uri 参数定义的 URI 中。
2.示例一
[root@web01 /etc/nginx/conf.d]# vim linux.web.com.conf
server {
listen 80;
server_name linux.web.com;
location / {
root /code;
try_files $uri =404;
}
}
#当访问linux.web.com/2.html(文件存在)时,返回/code/2.html内容
#当访问linux.web.com/2.html(文件不存在)时,返回404状态
#也可以使用一个文件作为最后一个参数,如果最后一个参数是文件,那么这个文件必须存在。
3.示例二
[root@web01 /etc/nginx/conf.d]# vim linux.web.com.conf
server {
listen 80;
server_name linux.web.com;
location / {
root /code;
index index.html;
try_files $uri $uri/ @java;
}
location @java {
proxy_pass http://172.16.1.8:80;
}
}
#当请求linux.web.com/2.html文件时会依次匹配/code/2.html和/code/2.html/index.html文件。返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹)
#如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。跳转到location @java部分
本文详细介绍了nginx的try_files配置选项,包括其语法和两个实际应用示例。try_files功能允许按照指定顺序检查文件或目录是否存在,若找不到则进行内部重定向。
2425

被折叠的 条评论
为什么被折叠?



