vue.js - 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 相同)
关于解决此问题的任何想法?
解决方案
如果找不到页面,请不要重定向到主页,如您在此 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
推荐阅读
- javascript - Promise.all() 并不总是解决 - 编辑以添加两个函数的代码
- corda - 在 Corda 的 H2 数据库中,我们需要提供自己的索引吗?
- java - 如何在 Java 的正则表达式中获得第二个匹配器?
- alexa - 如何让 Alexa 说出电话号码
- django - Django:激活电子邮件不会自动登录用户
- php - 如何检测 googlebot 并找出已抓取的页面以及 googlebot 已完成的所有其他操作?
- selenium - Selenium/hub 在 network_mode = "host" 时无法识别 selenium/node-chrome-debug
- javascript - 识别多边形内的点(包括位于边界和边缘上的点)
- c++ - Harvest(Heat) Wix - 在 msi 中存档资源
- linux - docker bind mount:不是目录