0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Vercel × Vite × React Router】Reactの/:idページが404になる原因と解決方法

Last updated at Posted at 2025-02-16

はじめに

Reactで制作したアプリをVercelにデプロイした際、ビルドエラーは出ていないのに/以外のページが404 Not Foundになってしまいました。特に/:idのページが表示できなかったので、その解決方法をまとめました。

この記事は個人的なアウトプットを目的として作成したものです。そのため、誤った情報や不足している内容が含まれている可能性があります。もし間違いや気になる点がございましたら、ぜひご指摘いただけますと幸いです

原因

VercelReactのサブページを認識できていないことが原因です。
ViteReact Routerを使用した場合はクライアントサイドルーティングを採用しているため、ブラウザで/:idに直接アクセスすると、Vercelのサーバーはindex.htmlではなく404 Not Foundを返してしまいます。

解決方法

Vercelrewritesを設定し、どのルートでもindex.htmlを返すようにします。

{
  "rewrites": [
    {
      "source": "/:hoge",
      "destination": "/index.html"
    }
  ]
}

この設定により、/:hogeへのアクセスがindex.htmlにリダイレクトされ、Reactのルーティングが正しく機能するようになります。

終わりに

この問題はNext.jsでは発生しないため、ReactNext.jsの違いを意識することが重要です。今後もそれぞれのメリット・デメリットを理解しながら、適切なフレームワーク選びをしていきたいと思いました。

0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?