History模式 带参数链接刷新后显示404的问题

已经按照Vue Router文档配置了nginx

1
2
3
location / {
try_files $uri $uri/ /index.html;
}

当使用这样的方式跳转页面后,刷新页面会触发404

1
2
3
4
5
6
7
this.$router.push({
path: '/info',
query: {
id
}
})
// 浏览器url http://www.aaa.com/farmInfo?id=aaa

解决方法:使用动态路由匹配

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// router.js
{
name: 'info',
path: '/info/:id',
component: () => import('@/views/Info.vue')
}

// 使用param传参
this.$router.push({
name: 'farmInfo',
params: {
id: id
}
})

评论区