我可以重定向到其他路由,但是如果刷新浏览器,该路由将不起作用

时间:2018-12-24 19:18:59

标签: vue.js vue-router

通过$router.push({ path: /周/ $ {year} / $ {month} / $ {day} / }),我可以成功地路由/移动(不确定在此使用什么术语)网址正确更新的其他路由。

但是,一旦刷新浏览器,路由组件将变为空(并且没有控制台错误)。

你知道这是怎么回事吗?

这是我的路由器代码:

let router = new Router({
  mode: 'history',
  routes: [
    ...
    {
      path: '/',
      redirect: '/home',
      meta: {
        requiresAuth: true
      }
    },
    {
      path: '/week/:year/:month/:day',
      component: Home,
      meta: {
        requiresAuth: true
      }
    },
    ...
  ]
})

1 个答案:

答案 0 :(得分:0)

您需要像使用历史记录模式那样配置要用来处理路由器的任何服务器。

我将发布ApacheNginx的示例配置,因为它们是最常用的。


Apache

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

Nginx

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

其他信息可在官方docs上找到。