server {
# 监听端口
listen 8089;
# 主机名称
server_name www.dzm.com;
# 根目录
root /usr/local/var/dzm;
# 匹配协议
# location / {
# index index.html;
# }
# 上面 / 的匹配协议换成这个
location / {
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_pass http://api-test/;
}
}
// 将这个匹配换成下面的
location / {
index index.html;
}
// 将上面的匹配换成这个
location / {
try_files $uri $uri/ /index.html;
}
-
在
nginx
中try_files
的的作用一般用户url
的美化,或者是伪静态功能: -
当用户请求
http://localhost/example
时,这里的$uri
就是/example
。 -
try_files
会到硬盘里尝试找这个文件。如果存在名为/root/example
(其中root
是项目代码安装目录)的文件,就直接把这个文件的内容发送给用户。 -
显然,目录中没有叫
example
的文件。然后就看uri/
,增加了一个/
,也就是看有没有名为/root/example/
的目录。 -
又找不到,就会
fall back
到try_files
的最后一个选项/index.html
,发起一个内部“子请求”
,也就是相当于nginx
发起一个HTTP
请求到http://localhost/index.html