首页 > 解决方案 > Nuxt 404 错误页面应重定向到主页

问题描述

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

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

我试过这个

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

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

我也试过这个

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

但没有用(与 fetch 相同)

关于解决此问题的任何想法?

标签: vue.jsseonuxt.js

解决方案


如果找不到页面,请不要重定向到主页,如您在此 Google 文章中所见:创建自定义 404 页面

而是重定向到 404 错误页面

只需使用error

 async asyncData({ params, $content, error }) {
    try {
      const post = await $content('blog', params.slug).fetch()
      return { post }
    } catch (e) {
      error({ statusCode: 404, message: 'Post not found' })
    }
  }

不要忘记在布局文件夹中创建错误页面error.vue


推荐阅读