在Nginx中,由于单页面应用的URL地址都是通过路由来实现的,所有的文件在一个index.html文件中,所以,当通过URL后面带着 /xx  nginx就会找不到文件,从而显示404错误。

解决方案:

 /etc/nginx/conf.d  文件夹下中 的  default.conf  文件中配置如下:

    location / {
        try_files $uri $uri/ /index.html;  //关键配置
        root   /root/web;     #服务默认启动目录
        index  index.html index.htm;    #默认访问文件
    }

在代码中使用了  try_files

try_files指令
语法:try_files file ... uri 或 try_files file ... = code
默认值:无
作用域:server location

其作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

这就很明确了,我们的这种写法try_files $uri $uri/ /index.html;就会导致所有找不到的url都会跳转到index.html文件。

Logo

前往低代码交流专区

更多推荐