Vue.js项目在apache服务器部署后,刷新404的问题

Posted songyao666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue.js项目在apache服务器部署后,刷新404的问题相关的知识,希望对你有一定的参考价值。

原因是vue-router 使用了路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。

const router = new VueRouter(
  mode: ‘history‘,
  routes: [...]
)

需要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。

解决方案

在项目目录下新建文件.htaccess文件,内容为:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %REQUEST_FILENAME !-f
  RewriteCond %REQUEST_FILENAME !-d
  RewriteRule . /index.html [L]
</IfModule>

即可解决问题

以上是关于Vue.js项目在apache服务器部署后,刷新404的问题的主要内容,如果未能解决你的问题,请参考以下文章

vue-route+webpack部署单页路由项目,访问刷新出现404问题

关于vue项目部署之后,刷新丢页面问题

vue 404

如何把vue.js项目部署到服务器上

(Nuxt.js/Vue.js) - 脚本只运行一次,更改路由/刷新页面后停止运行

Vue.js项目部署在Tomcat服务器上