Nuxt.jsのURLの末尾にスラッシュをつけるかどうかどっちがいいの?
- 公開日:
- 更新日:
- 文字数:849文字
はじめに
nuxtのurlは末尾がついていても、ついてなくてもどちらでも読み込み可能です。なのでどっちがいいのか迷うと思います。結論から言って 末尾にスラッシュをつけるかどうかはどちらでもいい です。
ただ、統一させることが大切です。SEO的に混合するのはよくないですので絶対統一させましょう。今回は、末尾にスラッシュをつける方法を紹介。
設定
リダイレクト処理用のコードを書きます。
middleware/redirect.jsに下記コードを記述
// 末尾にスラッシュがなければスラッシュ付きのルートへ301リダイレクトする
export default function({ route, redirect }) {
const path = route.path
const hash = route.hash
const type = route.query.type
if (path.slice(-1) !== '/' && path !== '/404') {
if (hash) {
redirect(301, path + '/#' + hash)
} else if (type) {
redirect(301, path + '/?type=' + type)
} else {
redirect(301, path + '/')
}
}
}
nuxt.config.js
export default {
router: {
trailingSlash: true,
middleware: ['redirect'] // 追加
}
}