Netlify公式サイトのスクリーンショット

先日このブログをNetlifyに移行しました。独自ドメインも設定して万事OKかと思っていたのですが、よくよく考えたら元々のURL(diwao.netlify.com)も生きてはいるので、こっちでもアクセスできちゃうんですよね。

これ重複コンテンツとかでSEO的にもよろしくない状況かなと思いまして、リダイレクトの設定を行ったので、その内容をメモっておきます。

_redirectsファイルを作る

apacheであれば.htaccessとかでリダイレクトさせるのが一般的かと思いますが、Netlifyの場合_redirectsというファイルを作り、そのファイルにリダイレクトの設定を記述することになります。

_redirectsファイルは公開するサイトのルート直下に置けばいいので、Hugoでサイト作ってる私の場合は/static/フォルダーの中に作ればOKですね。ファイルに記述する内容も簡単で、

リダイレクト元のURL  リダイレクト後のURL  リダイレクトの種類(なくてもOK)

を記述するだけで大丈夫です。詳しくは公式のドキュメントを参照してください。

ちなみに、私の場合はこのようなファイルになりました。

http://diwao.netlify.com/*  http://diwao.com/:splat  301!
https://diwao.netlify.com/*  http://diwao.com/:splat  301!

いくつか補足すると、:splatはアスタリスクと一致することを意味しており、恒久的な変更なので301リダイレクトとしています。

301の後ろの!は、アクセスされたURLにファイルがあろうがなかろうが常にリダイレクトさせるという意味でつけています。デフォルトの設定では、ファイルが存在している場合はそのファイルの内容をレンダリングする、というルールになっているため、!をつけないと期待した通りのリダイレクトにならない、ということみたいです。

公開前にはチェックツールで確認を

_redirectsファイルの書き方が正しいかどうかはNetlify"s playgroundで確認できます。やり方はここにアクセスして_redirectsの中身を貼り付けて「Test rules」をクリックするだけでOK。何も問題がなければ「Yay! All redirects are valid」と表示されるので、公開する前にこちらでエラーが出ないことを試しておきましょう。

参考