Vercelでのやり方は前に記事書きましたが、今回はNetlify編です。
このブログを諸事情でNetlifyに移行しました。その時にリダイレクト設定をしたのですが、自分の実力ではNetlifyでSSGビルドした際の末尾スラッシュをなくす、index.htmlをなくすという設定ができませんでした...
いやできるけど?みたいなことあれば教えてほしいです。
Pretty URLs
Netlifyには元々機能としてPretty URLsというものがあるらしく、/about.html
を/about
に変えたり、/about/index.html
を/about/
に変えたりできるそう。
いやまぁ、/about/index.html
を/about
にしてほしいんだけれども。
Astroでビルドする時はビルドオプションで/about/index.html
か/about.html
の形式か選べるからまぁいいや。ただこのPretty URLs動かねえ。。。
リダイレクト設定
どうやらNetlifyのリダイレクトは_redirects
だとか、netlify.toml
とかでできそうです。Vercelで言うvercel.json
的な?設置場所全然違うけど
そしてドキュメント見ながら_redirects
にこう書いたら行けるだろと思ったら無理でした。無限リダイレクト編が始まりました。
/*/ /:splat 301!
/*/index.html /:splat 301!
ドキュメントみたらご丁寧に書いてあった。
要約:スラッシュ入ってようが、入ってなかろうが同じパスとして判断するから無理やで~
なんでやねん!
index.html
も同じ理由なのでしょうね。
諦めて一旦は<link rel="canonical" href="" />
の設定して、history.replaceState
でパスを書き換えることにしました。
追記:Cloudflare Pagesは良いですよ~