Netlifyにあるサイトを閉鎖する時の小技
サービス終了したサイトなどで「サイトは消したい」。ただ、来た人がHTTP 404で追い返されるのはちょっと申し訳ないから、企業サイトにリダイレクトくらいはしてやりたい。 Netlifyでそういうことする時の方法を雑にまと […]
広告ここから
広告ここまで
目次
サービス終了したサイトなどで「サイトは消したい」。ただ、来た人がHTTP 404で追い返されるのはちょっと申し訳ないから、企業サイトにリダイレクトくらいはしてやりたい。
Netlifyでそういうことする時の方法を雑にまとめました。
リダイレクトは_redirectsファイル
_redirects
をドキュメントルートに配置してやればOKです。以下のような形で301リダイレクトをつけておきましょう。
/ https://example.com/ 301
/* https://example.com/ 301
[2021/09追記] netlify.toml
を利用する場合
ビルドの設定もまとめて上書きしたい場合などでは、tomlを使った方がよさそうです。
[build]
command = "echo 'dummy'"
publish = "/"
[[redirects]]
from = "/"
to = "https://go.getshifter.io"
status = 302
force = true
[[redirects]]
from = "/*"
to = "https://go.getshifter.io"
status = 302
force = true
一応index.htmlも用意しておく
さすがに_redirects
だけだとNetlifyのビルドがこけるみたいです。(再現性は取ってないので別要因かもですが)
なのでindex.htmlもつけておきましょう。
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv=”refresh” content=”0;URL=’https://example.com/'” />
<title>Redirecting...</title>
</head>
<body>
<script>
location.href="https://example.com/";
</script>
</body>
</html>
雑ですが、metaタグとJSそれぞれでもリダイレクトをセットしてフォールバックを図っています。正直別にここまでする必要はない気はします。
ディレクトリ構成
出来上がるとこうなります。簡単ですね。
$ tree
.
├── _redirects
└── index.html
0 directories, 2 files
あとはこれをディレクトリごとNetlifyにあげればOKです。
お金は?
Freeプランにしておけばそのまま供養できます。
が、もちろん各種有料機能は死にますので、本当に供養するものと思ってダウングレードしましょう。
もっとも、フリープランで十分つかえるのですが。