vue-router不重定向

时间:2019-05-09 12:47:59

标签: vue.js vuejs2 vue-router

尽管该主题上有多个帖子,但我找不到问题所在。我一直关注着这个Image showing Alexa conversation

这是我的VueRouter实例。

const router = new VueRouter({
  mode: "history",
  routes: [
    {
      path: "/",
      component: require("./components/producer-table.vue").default
    },
    {
      path: "/producer/:producerId",
      component: require("./components/variable-table.vue").default,
      props: true
    },
    { path: "*", redirect: "/" }
  ]
});

如果我以编程方式路由到错误的网址(this.$router.push({path: "/wrong});),则会重定向到example

除了在Chrome网址栏中设置错误的地址后,我会收到以下消息:

  

无法获取/错误

我希望http://localhost/被重定向到http://localhost/wrong。我是使用vue路由器的新手,一定要错过一些东西。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

这是因为您的网络服务器不知道GET /wrong应该被重定向到index.html文件;从那里开始,vue-router可以接管。

有关如何重定向不同Web服务器的一些示例;

Apache: htaccess rewrite all to index.html

nginx: Rewrite all requests to index.php with nginx

webpack-dev-server:

/// in your webpack.config
devServer: {
  historyApiFallback: {
    index: '/'
  }
}