一、服务器部署项目本地无问题 刷新404
这是因为路由是history的,如果是hash就不会有这个问题
解决方案:
找到nginx配置文件,添加try_files 的配置即可解决
server{
listen 3000;
server_name localhost;
location / {
root /opt/project/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
二、登录跳转404,返回首页 可以继续正常点击跳转,但是刷新又404
一般来说这个错误是服务器部署在子路径中,但配置不完善出的问题
>前端配置
1. 在vue.config.js文件中z找到publicPath的配置,判断如果是否为生产环境
(打包的是生产环境就判断是否为生产环境,如果打包是测试环境就判断是否为测试环境)
2. 加上服务器配置的子路径
3. 路由添加base路径
*服务器配置子路径 vue.config.js文件
//服务器配置子路径 vue.config.js文件
module.exports = {
// 部署生产环境和开发环境下的URL。
// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
// 如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。
// 例如,如果你的应用被部署在 https://192.168.1.1/admin/,则设置 publicPath为 /admin/。
publicPath: process.env