Nginx 刷新后显示404解决

110 阅读1分钟

前因

前端项目打包dist 放到nginx 目录下html 就可以通过80端口访问

如:localhost

但是发现了一个问题,刷新一下就变成404了

解决

配置nginx

vi conf/nginx.conf

加入以下2行配置

autoindex on;
try_files $uri $uri/ /index.html;

image.png

说明

autoindex on;

  • 当在 Nginx 配置文件的server块或者location块中设置autoindex on;后,Nginx 会自动为指定目录生成一个目录列表。这个列表会以 HTML 页面的形式展示给用户,用户可以通过浏览器查看该目录下包含的文件和子目录。这对于创建简单的文件共享服务器或者展示服务器上的文件目录结构非常有用。

try_files uriuri uri/ /index.html;

  1. 基本原理和作用概述

    • 这条try_files指令是 Nginx 中的一个重要配置,用于处理请求的文件路径查找。它的主要作用是按照顺序尝试查找一系列文件或目录,如果前面的文件或目录不存在,则尝试下一个,直到找到一个存在的文件或目录,或者执行最后的兜底操作。
  2. 详细解释各个部分的功能

    • $uri部分

      • $uri是一个 Nginx 变量,表示当前请求的 URI(Uniform Resource Identifier),不包括主机名部分。例如,对于请求http://example.com/path/to/file.html$uri的值为/path/to/file.html。Nginx 首先会尝试查找这个确切的文件路径是否存在。这是最直接的查找方式,因为如果用户请求的是一个具体的文件,按照这个路径查找可以快速定位并返回文件内容。