前因
前端项目打包dist 放到nginx 目录下html 就可以通过80端口访问
如:localhost
但是发现了一个问题,刷新一下就变成404了
解决
配置nginx
vi conf/nginx.conf
加入以下2行配置
autoindex on;
try_files $uri $uri/ /index.html;
说明
autoindex on;
- 当在 Nginx 配置文件的
server
块或者location
块中设置autoindex on;
后,Nginx 会自动为指定目录生成一个目录列表。这个列表会以 HTML 页面的形式展示给用户,用户可以通过浏览器查看该目录下包含的文件和子目录。这对于创建简单的文件共享服务器或者展示服务器上的文件目录结构非常有用。
try_files uri/ /index.html;
基本原理和作用概述
- 这条
try_files
指令是 Nginx 中的一个重要配置,用于处理请求的文件路径查找。它的主要作用是按照顺序尝试查找一系列文件或目录,如果前面的文件或目录不存在,则尝试下一个,直到找到一个存在的文件或目录,或者执行最后的兜底操作。详细解释各个部分的功能
$uri
部分:
$uri
是一个 Nginx 变量,表示当前请求的 URI(Uniform Resource Identifier),不包括主机名部分。例如,对于请求http://example.com/path/to/file.html
,$uri
的值为/path/to/file.html
。Nginx 首先会尝试查找这个确切的文件路径是否存在。这是最直接的查找方式,因为如果用户请求的是一个具体的文件,按照这个路径查找可以快速定位并返回文件内容。