vue History 模式部署 nginx 访问其他页面出现 404 解决
在 nginx 加入以下配置即可解决:
1 | location / { |
try_files指令介绍
1 | 语法:try_files file ... uri(格式1) 或 try_files file ... = code(格式2) |
例:
root 后面的参数是前端vue项目代码安装目录;
try_files 负责扫描内部目录然后再进行内部重定向;
expires 是nginx控制缓存的一种方式,7d=7天。
1 | location / { |
当用户请求 http://localhost/example 时,这里的 $uri 就是 /example,try_files 会到硬盘里尝试找这个文件;
如果存在名为 /$root/example(其中 $root 是项目代码安装目录)的文件,就直接把这个文件的内容发送给用户;
显然,目录中没有叫 example 的文件;
然后就看 $uri/,增加了一个 /,也就是看有没有名为 /$root/example/ 的目录;
又找不到,就会 fall back 到 try_files 的最后一个选项 /index.php,发起一个内部 “子请求”,也就是相当于 nginx 发起一个 HTTP
请求到 http://localhost/index.php。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.