GatsbyJSで構築したサイトをNetlifyにデプロイしリダイレクトする方法
今回はGatsbyJSで構築したサイトを、Netlifyにデプロイし、リダイレクト設定を行う方法をまとめいきます。
[ 目次 ]
はじめに
こんにちは、香港に住んでいるWEBデベロッパーのなかむ(@nakanakamu0828)です。
今回はGatsbyJSで構築したサイトを、Netlifyにデプロイした際のリダイレクト設定についてまとめます。
NetlifyにGatsbyJSのプロジェクトをデプロイ
Netlifyへのデプロイ方法については、GatsbyJSのサイトをデプロイする。Netlifyにデプロイする に手順が載っています。こちらの記事を参考にしてください。
既に、Nuxt.jsやGridsome、Jekyllなどを利用してNetlifyにデプロイした経験がある方は、ビルド設定を変更するだけなので他の技術と同じようにデプロイ可能です。
今回のリダイレクトについて
Netlifyでは、"sitename".netlify.comというNetlifyのサブドメインを利用してアプリにアクセスすることが可能です。
このサブドメインから独自ドメインにリダイレクトしたいと思います。
今回は、gatsby-starter-portfolio-nnn.netlify.com
にアクセスがあった場合、gatsby-starter-portfolio.nakamu.life
へリダイレクトするような設定です。
netlify.tomlにリダイレクト設定を追加する方法
netlify.tomlとは、Netlifyのビルドやデプロイの設定を記述するファイルです。プロジェクトrootに配置されたnetlify.tomlの設定がデプロイ時に読み込まれます。
[[redirects]]
from = "https://gatsby-starter-portfolio-nnn.netlify.com/*"
to = "https://gatsby-starter-portfolio.nakamu.life/:splat"
force = true
gatsby-plugin-netlifyプラグインを利用する方法
まずは、gatsby-plugin-netlifyプラグインをインストールしましょう
■ npmを利用する場合
$ npm install gatsby-plugin-netlify
■ yarnを利用する場合
$ yarn add gatsby-plugin-netlify
続いて、gatsby-config.jsに設定を追加します。
module.exports = {
siteMetadata: {
title: `Nakamu`,
description: `GatsbyJSを利用したポートフォリオサイト`,
author: `@nakanakamu0828`,
siteUrl: `https://gatsby-starter-portfolio.nakamu.life`
},
plugins: [
・・・
// 以下の1行を追加
`gatsby-plugin-netlify`
],
}
最後に、gatsby-node.jsにcreateRedirectを利用して_redirects
ファイルが生成されるように記述を追加します。
exports.createPages = ({ graphql, actions }) => {
const { createRedirect } = actions
createRedirect({
fromPath: 'https://gatsby-starter-portfolio-nnn.netlify.com/*',
toPath: 'https://gatsby-starter-portfolio.nakamu.life/:splat',
isPermanent: true,
force: true
})
}
gatsby build
を実行し、public/_redirects
が正しく生成されていることを確認しましょう