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プランにしておけばそのまま供養できます。

    が、もちろん各種有料機能は死にますので、本当に供養するものと思ってダウングレードしましょう。

    もっとも、フリープランで十分つかえるのですが。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark