首页 > 系统相关 >Nginx部署vue项目刷新返回空白页问题

Nginx部署vue项目刷新返回空白页问题

时间:2024-03-16 13:12:42浏览次数:26  
标签:index vue uri myroute 空白页 Nginx html location

这个问题很有可能是因为 Vue Router 的模式和 Nginx 配置之间的冲突导致的。当你在 Vue 应用中使用 Vue Router 的 `history` 模式时,URL 会变成美观的形式,就像 `http://mywebsite/myroute`,而不是 `http://mywebsite/#/myroute`。这种模式下,当你尝试通过直接访问 `http://mywebsite/myroute` 的方式来刷新或加载特定页面时,服务器会试图在其文件系统中找到对应的 `myroute` 文件。但是,对于单页面应用(SPA)来说,所有的路由实际上都是在前端处理的,所以服务器并不存在一个真实的 `myroute` 文件,这就导致了 404 错误。
为了解决这个问题,你需要更新你的 Nginx 配置,确保所有的路径都回退到你的 index.html 文件。这样一来,无论是页面初次加载,还是后续的路由切换,所有的路由逻辑都将由前端接管。
以下是一个基本的 Nginx 配置示例,可以解决这个问题:
```
location / {
try_files $uri $uri/ /index.html;
}
```
这个配置的含义是,当请求某个路径时,首先尝试访问该路径对应的文件或者目录,如果文件或目录不存在,那么就回退到 index.html 文件。请将这段配置添加到你的 Nginx 配置文件中,并根据自己的情况做适当的调整。然后重启 Nginx 服务器,问题应该能够得到解决。

 

示例:

server
{
listen 5173;
server_name helpme;
index index.html index.htm index.php;
root 
location ~ /tmp/ {
return 403;
}
location / {
try_files $uri $uri/ /index.html;
}
#error_page 404 /404.html;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /www/wwwlogs/access.log;
}
include /www/server/panel/vhost/nginx/*.conf;
```

  





标签:index,vue,uri,myroute,空白页,Nginx,html,location
From: https://www.cnblogs.com/alicia0/p/18076958

相关文章

  • Vue3-03_组件基础_上
    单页面应用程序什么是单页面应用程序单页面应用程序(英文名:SinglePageApplication)简称SPA,顾名思义,指的是一个Web网站中只有唯一的一个HTML页面,所有的功能与交互都在这唯一的一个页面内完成。单页面应用程序的特点单页面应用程序将所有的功能局限于一个web页面中,仅在......
  • 如何在vue的style标签中使用js?
    这是面试的时候遇到的一个面试题,当时没回答上来。。。var()-CSS:层叠样式表|MDN自定义属性(--*):CSS变量-CSS:层叠样式表|MDN我们先了解一下cssvar()函数以及css自定义属性通过var函数和自定义属性可以复用某些css样式,例如::root{--main-bg-color:pink;}b......
  • 基于Spring Boot+Vue的校园二手交易平台
    目录一、绪论1.1开发背景1.2系统开发平台1.3系统开发环境二、需求分析2.1问题分析2.2系统可行性分析2.2.1技术可行性2.2.2操作可行性2.3系统需求分析2.3.1学生功能需求2.3.2管理员功能需求2.3.3游客功能需求三、系统设计3.1功能结构图3.2E-R模型3.3数......
  • vue3+ts 上传组件
    本来是用的jeecg-vue3中的上传组件,如下图: 功能上还是蛮全的,就是上图中这个链接的代码死活找不到,查了下,是基于antv的a-upload实现的。但是antv中也没找到,上图这个只有移入删除的功能但是我这边的需求是点击链接可以直接在网页预览,而不是下载,移入后有个删除和下载的功能按钮。......
  • 使用systemctl来管理手动编译安装的Nginx
    FastDFS(https://github.com/happyfish100/fastdfs/wiki)推荐的nginx启动方式是直接执行/usr/local/nginx/sbin/nginx如果配成用systemctl管理的话,更符合常规使用习惯,而且可以设为开机启动,具体如下:/lib/systemd/system/nginx.service[Unit]Description=nginx-highperform......
  • vite中配置less,vue3中配置less
    前言如果赶时间请直接使用目录跳到解决问题的部分。使用的项目使用vue脚手架生成。npminitvue@latest版本如下"@vitejs/plugin-vue":"^5.0.4","vue":"^3.4.21"由于近期在学less,心想如果不能将其应用到vue项目中,无异于纸上谈兵。于是立即用vue脚手架......
  • Windows 部署 nginx服务
    WinSW.exe是一个可以将Windows上的任何一个程序注册为服务的工具,也可以进行卸载该服务。下载nginx放到C:\bsq\nginx-1.22.1下载WinSW.exe重命名为 nginxService.exe,放到 C:\bsq\nginx-1.22.1文件夹新建 nginxService.xml配置文件,内容如下:<service>   <id>Ng......
  • 一种奇怪的方式(.gitignore模版问题)导致部署在CentOS服务器上采用Nginx和uWSGI的Django
    如图所示,在本地测试时好好的页面部署在CentOS服务器上用了Nginx和uWSGI就显示不了CSS样式。并且控制台上显示这一部分样式404Notfund于是我就开始各种查找技术贴学习,有说权限没开要修改nginx.conf配置中usernginx;为userroot;的,有说location结尾要加/的,有说DEBUG=True的,有说要......
  • Linux免编译安装Nginx保姆级教程_Mark一下
    一、环境准备1.Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。yuminstallgcc-c++2.Nginx的http模块需要使用pcre来解析正则表达式,需要安装pcre。yuminstall-ypcrepcre-devel3.安装依赖的解压包。yuminstall-yzlibzlib......
  • vue 渲染pdf并盖章之后生成新的pdf
    目录1.渲染pdf 1.页面准备渲染的容器,使用canvas渲染2.把文件流渲染到canvas上面3.下载pdf.js插件4.使用 2.盖章1.印章图片2.自定义指令拖拽3.生成新的pdf 1.下载生成pdf插件2.使用 4.页面效果图 1.展示pdf 2.拖拽盖章3.生成pdf文件 5.整体代码1.渲......