宝塔服务器配置nginx刷新404的问题汇总

Posted lovecode3000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宝塔服务器配置nginx刷新404的问题汇总相关的知识,希望对你有一定的参考价值。

我们在本地使用vue测试和切换页面没有任何问题。于是打包好文件并上传到服务器,页面可以正常打开,但是一刷新就会出现页面404,这种情况我们该怎么办呢?

首先分析问题

这种原因多数情况是因为vue中的router模式设置为history模式,页面url切换的跟随着路由切换,
但刷新时浏览器并不知道你的网页输入的参数地址是想要访问什么,并没有找到你想要访问的文件目录,所以会报错404;

分析清楚问题之后我们应该怎么办呢?

一、切换hash模式

直接在进入route路由请求也,把route模式改为hash模式访问,但这种模式有个缺点,后面会跟个#号,
但我们并不希望使用这种模式,而且看起来很难看让人摸不清头脑,后面到底是想请求什么呢

二、修改nginx的nginx.conf配置文件

在location中添加如下代码。
root 和index一般默认即可。
除非你index文件没有放在根目录

location / {
  root ***
  index ***
  try_files $uri $uri/ /index.html;
}

三、修改宝塔配置文件

技术图片
这种修改不太建议,因为404有可能被拦截

四、使用伪静态目录

当域名不能地址报错时,统一指向默认地址

if (!-e $request_filename) {
    rewrite ^/(.*) /index.html last;
    break;
}

技术图片

以上是关于宝塔服务器配置nginx刷新404的问题汇总的主要内容,如果未能解决你的问题,请参考以下文章

Nginx部署Vue项目以及解决刷新页面404问题

vue部署到宝塔请求接口报404错误

nginx+vue+thinkphp5.1部署,解决前端刷新404,以及前端404解决后,后台又404的问题

Vue项目通过宝塔部署之后,页面刷新后浏览器404页面。

Nginx 下配置Laravel 错误404

nginx+vue刷新404