Nuxt 404错误页面应重定向到首页

问题描述 投票:3回答:3

我正在寻找一种方法,当不使用Nuxt.Js页面时,该页面始终重定向到主页。

几天后,我们的站点地图生成出现了一些问题,我们提交了不存在的错误网址。 Google Search Console显示大量404,我们想通过301重定向到首页来修复它们。

我尝试过此

created() {
    this.$router.push(
      this.localePath({
        name: 'index',
        query: {
          e: 'er'
        }
      })
    )
  }

并且尽管页面成功重定向到主页,但我认为自页面最初以404呈现以来,Google会遇到此问题。

我也尝试过这个

  async asyncData({ redirect }) {
    return redirect(301, '/el?e=rnf')
  },

但是没有用(与提取相同)

有什么解决方案的想法吗?

vue.js seo nuxt.js nuxt
3个回答
1
投票

您可以在nuxt中创建默认的404页-只需在〜/ pages /目录中放置一个名为_.vue的文件。这是您的404页:)

或者您可以使用另一种方法来创建这样的页面:https://github.com/nuxt/nuxt.js/issues/1614但我还没有尝试过

然后向该页面添加一个简单的404重定向中间件:

// !!! not tested this code !!!
middleware: [
  function({ redirect }) {
    return redirect(301, '/el?e=rnf')
  },
],

2
投票

[如果您需要为您的用户提供自定义路由,例如domain.com/然后将名称为_.vue的文件放在〜/ pages /目录中将不起作用,因为自定义用户路由将需要它。

为了获得最大的灵活性,请使用Dan中提到的布局文件夹


1
投票

我个人建议创建一个404页面,与重定向到首页并可能对所发生的事情感到困惑相比,它提供了更好的用户体验。

为了创建自定义错误页面,只需在error.vue中创建layouts folder文件并将其视为页面即可。参见official documentation。我们已经实施了很多次,而Google从来没有抱怨过。

仍然,gleam的解决方案很聪明,如果能达到目的,那就很好。只是想指出另一个解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.