自分はカスタムドメインを適用したA(www.***.***)というサイトを持っていて(github+Hugo+Netlifyで作成)、 別に作ったブログ(***.netlify.app)をその下の www.***.***/blog/ というアドレスでアクセスできるようにしたかった。管理するリポジトリを分けたかった……ことになるのか。
カスタムドメインを紐付けたNetlifyサイトとは別のNetlifyサイトを、そのカスタムドメイン配下のディレクトリにApacheのRewriteRuleのようにリダイレクトする - dskd
やりたかったことはそのまま、こちらの記事で説明されているものです。感謝しかない……。
やったこと
- サイトAのドキュメントルートに _redirects という名前のファイルを配置し、設定を書く
- サイトAのドキュメントルートに netlify.toml ファイルを配置し、設定を書く
のどちらかを設定すればいいということなので、
_redirect ファイルを使う場合
Hugoで作成しているAサイトの static フォルダの中に _redirect ファイルを作成して次のように書いてpush。
/blog/* https://***.netlify.app/:splat 200!
netlify.toml を使う場合
[[redirects]]
from = "/blog/*"
to = "https://***.netlify.app/:splat"
status = 200
force = true
のように書く。
Bサイトはnetlifyでサイトデプロイしたときの初期アドレスのまま、カスタムドメイン設定していない。 www.***.***/blog/ にアクセスすると、Netlifyで公開した別リポジトリで管理しているBサイトの内容が表示される。
baseURL の調整
AサイトもBサイトもHugoで作成しているので、サイトBの config.toml の baseURL には運用したいurlを書いた。
baseURL = "https://www.***.***/blog/"
サイトBでのリソースの参照先が狂うと思った通りの挙動をしないので、ファイルパスは相対パスで書くのがいいのか。 今回は使用したテーマを変更する必要はなくbaseURLの書き換えだけで済んだ(…はず)。
やったことは以上です。