firebase hostingで301リダイレクト設定を行う

公開日時

先日、このブログを

Gridsome + Contentful + Firebase Hosting

から

Next.js + Contentful + Vercel

に移行した。

また、その少し前にブログのドメインも変更した。

久しぶりに旧ドメインの方のSearch Consoleを眺めていたところ、現在も検索結果に旧ドメインが表示されている記事がいくつかあったのでfirebase hosting設定で新ドメインに301リダイレクトさせることにした。

一部のpathはNext.js移行時に変更したが、Next.jsで動的URLをRewriteすることで以前のpathでもアクセスできるようにしておいたので、firebase hostingでは全pathを新ブログのURLにリダイレクトするだけで済んだ。

firebase.jsonhosting.redirects に以下を設定した。

{
  "hosting": {
    "public": "dist",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ],
    "redirects": [
      {
        "source": "/:path*",
        "destination": "https://sunday-morning.app/:path",
        "type": 301
      },
      {
        "source": "/",
        "destination": "https://sunday-morning.app/",
        "type": 301
      }
    ]
  }
}

これで旧ドメインの記事にアクセスしても新ドメインの記事が表示されるようになった。

参考


Related #firebase

SharedArrayBuffer updates in Android Chrome 88 and Desktop Chrome 92

クロスオリジン分離対応を実施

Firebase Emulator Suiteで起動しているFunctionsから本番のFirestoreにアクセスする

functionsのみエミュレータを使うようにするとできる

Firebase Functions呼び出し時に Error: function terminated. が発生した場合

firebase functions:logで詳細を確認できる

Cloud BuildでFirebase Hostingのデプロイを行う

リポジトリへのpush以外をトリガーにしたい場合に使用

Firebase FunctionsでonCallで実装しているにも関わらずCORSエラーが発生した場合

Cloud Functions(GCP)の管理画面を確認してみる

JestでFirestoreセキュリティルールのテストを書く

Github ActionsでCIを回せるようになった