Next.jsで動的URLをRewriteする

公開日時

ブログをNext.jsに移管する際に、タグ一覧のURLを /tags/:slug => /tags/:slug/posts に変更した。

新規アクセスの場合は新しいURLで問題ないが検索エンジンにインデックスされているデータは旧URLなので、そのままだと404ページになってしまう。

そこでnext.config.jsにRewrites設定を追加。

// next.config.js
const nextConfig = {
  async rewrites() {
    return [
      {
        source: '/tags/:slug',
        destination: '/tags/:slug/posts',
      }
    ]
  },
}

module.exports = nextConfig

これで /tags/:slug にアクセスした場合も /tags/:slug/posts が表示されるようになった。

metaタグのcanonicalには新URLが指定してあるので、検索エンジンに新URLがインデックスされるようになったらRewrite設定を削除する予定。

参考


Related #next.js

FigmaでSVG Octocatを作る その3

アウトライン化大事

Next.jsプロジェクトのGoogle Analytics V3をV4に更新する

トラッキングIDの差し替えのみで対応が完了した

Vercelで指定のブランチのみデプロイを実行する

Ignored Build Stepを設定した