try_files 解读
时间: 2023-07-03 13:05:12 浏览: 60
`try_files` 指令是 Nginx 中用于指定在文件系统中查找文件并返回给客户端的指令。它的语法如下:
```
try_files file1 [file2 ...] fallback;
```
其中,`file1`、`file2` 等表示要查找的文件路径,多个文件之间用空格分隔;`fallback` 表示当所有 `file` 都不存在时,返回的文件路径或 URI。
`try_files` 指令的工作原理是:按照给定的顺序依次查找 `file` 文件,如果找到则返回该文件,否则返回 `fallback` 指定的文件或 URI。
常见的使用场景是:当客户端请求一个静态文件时,可以使用 `try_files` 指令指定多个备选文件路径,例如:
```
location / {
try_files $uri $uri/ /index.html;
}
```
这个例子中,当客户端请求一个静态文件时,Nginx 会按照顺序查找 `$uri` 文件、`$uri/` 目录下的 `index.html` 文件,如果都不存在,则返回 `index.html` 的内容。这个配置可以用于实现前端单页应用(SPA)的路由功能。
除了指定文件路径外,`try_files` 还可以指定变量,例如:
```
location / {
try_files $uri $uri/ @backend;
}
location @backend {
proxy_pass http://backend;
}
```
这个例子中,当客户端请求一个静态文件时,Nginx 会按照顺序查找 `$uri` 文件、`$uri/` 目录下的文件,如果都不存在,则将请求转发到名为 `backend` 的后端服务器。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)