vue-router 使用history模式,刷新或者手动输入URL返回404?

发布于 2022-09-12 01:44:33 字数 309 浏览 8 评论 0

使用了mode: history,后台nginx也设置了

location / {
  try_files $uri $uri/ /index.html;
}

我采取的是将vue项目打包后放入node服务端的静态资源中访问:

app.use('/', express.static(__dirname + '/web')) // web编译后静态文件托管

但是除了'/'路由,刷新或者手动输入其他页面的url访问将会是404

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

街角卖回忆 2022-09-19 01:44:33

因为题主这句代码,

app.use('/', express.static(__dirname + '/web'))

只对根路径/ 有用.

可以这样试试,

// 设置静态资源目录
app.use(express.static('./web'))


app.use(function(req, res, next) {
  // 当访问任意路由时,都重定向到/ , 就会自动请求静态资源目录下的index.html
  res.redirect('/')

})

我是这样想的,没有验证,题主可以先试试。

兮颜 2022-09-19 01:44:33

用了 nginx 就完全没必要再用 node 服务器了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文