vue项目,刷新后出现404错误,怎么解决
错误原因vue项目的网站你点击按钮切换页面之后你这时候刷新网站就会发现出错了404.vue项目的路由有两种模式hash 和 history 。只有history模式才会遇到这个错误。这是由于这两个模式的区别比如访问 about 页面因为hash模式的链接是这样的 site.com/#/about 这个链接发给服务器服务器访问的 是/index.html后面的 #/about 是锚点js 会解析这个锚点从而进入正确的页面。而history模式链接是这样的site.com/about 这个链接发给服务器服务器会去找 about.html 但是这个文件不存在所以会404解决问题我前面提过一个开源项目thinkphp8vue3开源项目部署就能直接使用论文查重AIGC检测,这个项目的前端就是vue3, 用的就是history模式。查看文件 /src/router/index.rsconstroutercreateRouter({history:createWebHistory(import.meta.env.BASE_URL),routes:[这里很明确就是history模式。那他是怎么避免404问题的呢我们查看该项目的帮助文档里面明确了需要设置伪静态location /{if(!-e$request_filename){rewrite ^(.*)$ /index.html?s/$1last;break;}}这里就很明确了这里是一段 Nginx 脚本。文件不存在时把路径当参数传给 index.html 。这样问题就解决了