VUE项目部署服务器之后刷新页面异常

情况:

vue项目在本地完美运行,经过npm run build之后把dist目录上传到服务后。只有访问文件跟目录可以运行,但刷新之后会找不到相应的页面。

网上都说是hository路由的问题导致,需要修改成hash模式。如果不想修改为hash模式,需要修改服务器路由匹配规则。以nginx为例:

网上都是说改成

复制代码
location / {
    try_files $uri $uri/ /index.html;
}

这个在大多数项目是可行的。但对我的项目不行,因为我的项目既有前端页面,也有后台接口,两个都部署在同一个服务器中。

并且后台接口的项目已经做了路由伪静态。因此伪静态跟try_files要一起改才能生效

复制代码
#以admin开头的请求重写到入口文件
location /admin/ {
    try_files $uri $uri/ /admin/index.html;
}

#伪静态文件修改成:
if (!-e $request_filename) {
    #rewrite  ^/(.*)$  /index.php/$1  last; #这个是一开始的伪静态
    rewrite ^/adminapi(.*)$ /index.php/adminapi$1 last;
    rewrite ^/api(.*)$ /index.php/api$1 last;
    break;
}

两边都修改完成之后,完美运行,刷新也正常了

相关推荐
锋行天下7 小时前
如何用Vite实现Vue组件的按需打包和远程加载
前端·vue.js·前端框架
光影少年7 小时前
原生DOM操作在React 中的注意事项
前端·javascript·react.js
用户900463370407 小时前
用Gemini搞定Vue报错和语法异常的问题
vue.js
糖拌西瓜皮7 小时前
Node.js核心模块实战:文件、路径、HTTP与流处理
javascript·node.js
糖拌西瓜皮7 小时前
NestJS入门指南:Java开发者的Spring Boot体验
javascript·node.js
糖拌西瓜皮7 小时前
Express框架快速上手:中间件、路由与错误处理
javascript·node.js
禅思院9 小时前
前端部署“三层漏斗”完全指南:从CI/CD到自动回滚的工程化实战【开题】
前端·架构·前端框架
快乐肚皮10 小时前
深入理解Loop Engineering
前端·后端
半个落月10 小时前
从递归到快速排序:用 JavaScript 把分治思想讲明白
javascript·算法·面试
风骏时光牛马10 小时前
VHDL十大经典基础功能设计实例代码合集
前端