使用Vue或者uniapp开发的H5项目,打包编译后,把项目放到线上,正常使用是没有问题的,但是一但在其他页面刷新一下,直接就是404。

这种原因是因为你打包编译H5的时候采用的路由模式是history模式,而不是hash模式。解决这种刷新404,可以把路由模式改成hash模式,这样你访问其他页面的时候是 域名+/#/+路径 这种形式的。

另外一种解决方法是,在你的Nginx上对这个前端设置伪静态,使用下面的伪静态方法就可以:

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