锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 软件开发
  3. 前端
  4. vue项目 部署到nginx 上刷新页面显示404

vue项目 部署到nginx 上刷新页面显示404

0
  • 前端
  • 发布于 2024-10-08
  • 12 次阅读
黄健
黄健

在Vue项目部署到Nginx服务器上时,遇到刷新页面显示404的问题,通常是因为Nginx无法正确地处理Vue路由(尤其是单页面应用(SPA)中的前端路由)。Vue应用的路由是前端路由,依赖于JavaScript来动态解析URL,当直接访问除根路径外的URL时,Nginx默认会尝试在服务器上找到对应的文件或目录,如果找不到就会返回404错误。

为了解决这个问题,你需要配置Nginx,使得所有请求都重定向到Vue应用的入口文件(通常是index.html),这样无论请求什么URL,Vue的路由都能正确处理。以下是一个基本的Nginx配置示例,用于解决这个问题:

server {  
    listen       80;  
    server_name  yourdomain.com; # 替换为你的域名或IP  

    location / {  
        root   /usr/share/nginx/html; # Vue应用打包后的文件存放的目录  
        try_files $uri $uri/ /index.html; # 尝试找到请求的文件或目录,如果找不到,则返回index.html  
    }  

    # 其他配置...  

    error_page   500 502 503 504  /50x.html;  
    location = /50x.html {  
        root   /usr/share/nginx/html;  
    }  
}

这里的关键是try_files指令,它按照列出的顺序检查文件是否存在,如果文件或目录不存在,则最后会返回/index.html。由于Vue应用是SPA,所有路由都应该在前端处理,因此返回index.html是合适的。

确保你的Vue应用已经通过npm run build(或类似的命令)构建完成,并且所有的构建文件(包括index.html)都已经被放置在Nginx的root指令指定的目录中。

如果你正在使用Vue CLI 3或更高版本,并且使用vue-cli-service build来构建你的项目,它默认会生成一个dist/目录,你需要确保Nginx的root指令指向这个目录(或者将其内容复制到Nginx的默认目录)。

最后,不要忘记重启Nginx服务以使配置生效。你可以使用sudo systemctl restart nginx(对于使用systemd的系统)或其他相应的命令来重启Nginx。

原文链接: https://blog.csdn.net/qq_30517167/article/details/140692087

标签: #VUE 61 #nginx 9
相关文章

vue2路由和vue3路由区别及原理 2024-10-08 11:24

一、Vue2 与 Vue3 路由的区别 1. 创建路由实例方式的不同 Vue 2 中,通过 Vue.use() 注册路由插件,并通过 new VueRouter() 来创建路由实例。 import Vue from 'vue';import VueRouter from 'vue-router';i

vue项目 部署到nginx 上刷新页面显示404 2024-09-30 17:34

在Vue项目部署到Nginx服务器上时,遇到刷新页面显示404的问题,通常是因为Nginx无法正确地处理Vue路由(尤其是单页面应用(SPA)中的前端路由)。Vue应用的路由是前端路由,依赖于JavaScript来动态解析URL,当直接访问除根路径外的URL时,Nginx默认会尝试在服务器上找到对应

三小时快速上手TypeScript,TS速通教程(上篇、中篇、下篇、附加篇) 2024-09-29 11:21

TypeScript速通 Typescript简介 为什么需要TypeScript * JavaScript今非昔比 JavaScript中的困扰 1. 不清不楚的数据类型 2. 有漏洞的逻辑 3. 访问不存在的属性 4. 低级的拼写错误 TypeScrip

js中的事件冒泡是什么? 2024-09-29 11:21

事件冒泡(Event Bubbling)是JavaScript中一种事件传播机制。当一个事件(如点击、键盘输入等)发生在某个元素上时,浏览器会首先触发该元素上的特定事件处理函数(如果存在的话)。然后,该事件会从当前元素向其父元素逐级传播,直到达到元素或整个文档树。这种从触发元素开始,逐级向上传播的事

Vue.js 的 Mixins 2024-09-26 17:57

Vue.js 的 Mixins 是一种非常强大且灵活的功能,它允许你封装可复用的 Vue 组件选项。Mixins 实际上是一种分发 Vue 组件可复用功能的非常灵活的方式。一个 mixin 对象可以包含任意组件选项。当组件使用 mixin 时,所有 mixin 选项将被"混入"该组件本身的选项。 M

前端框架对比和选择 2024-09-26 17:57

在前端开发的广阔领域中,框架的选择对于项目的成功至关重要。不同的框架各具特色,适用于不同的开发需求和项目规模。本文将对当前最流行的三大前端框架——React、Vue和Angular进行详细对比,并探讨如何根据项目需求选择合适的框架。 一、React 1. 简介 React是由Facebook开发和维

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.