今是記

GitHubPagesが404になったときの対処

昨日の日記でHugoのテーマを改修したところ、GitHub Pagesで404エラーが表示されるようになった、と書いた。

原因がわかったので、今後の対策とともにメモしておく。

要約

前提

背景

$ hugoコマンドを実行すると、WEBサイトが生成されるが、次の問題がある。

だから、$ hugoを実行する前にはゴミとなるファイルをキレイにしておくほうがいい。

今回はゴミとなるファイルがたまってきたので一掃したところ、GitHub Pagesで404エラーが出ることになった。

手順

Hugoのエラーではないことは、ローカルでは意図したとおりに表示されることから、明らかだった。

Hugoのエラーならその場で気づく。

GitHub Pagesの側のエラーであるということがわかった。

  1. index.htmlを配置しているか
  2. プッシュしてから5分以上経っているか
  3. index.htmlを再コミットして再プッシュしたか
  4. アクセスしているURLは間違えていないか
  5. ソースリポジトリは1GBを超えていないか
  6. 月当たり100GBのソフトな帯域幅制限を超えていないか
  7. 時間当たり10ビルドのソフトな制限を超えていないか

うん。

すべてクリアしているのに、なぜか、表示されない。

ビルドもきちんと成功している。

その証拠に https://{ユーザー名}.github.io/{リポジトリ名}/にアクセスしたら、表示される。

ネームサーバーの問題かとも思ったが、そうでもないようだ。

ここまで来て、CNAMEファイルがないことに気づいた。

公式のページでは、CNAMEファイルにドメインだけ入れろ、と書いてある。

今まで意識していなかったが、公開用のディレクトリを一掃するときに一緒に消してしまっていた。

CNAMEファイルをつくり、1o0.jpとだけ入力して保存し、プッシュすると無事にアクセスできるようになった。

対策

CNAMEファイルはstaticフォルダに入れておくことにした。

そうすれば$ hugoのたびに公開用のフォルダにコピーされる。

けっこう焦ったが、今後、アクセスできない時には、原因が同じなら次の二点を押さえたら良いという教訓を得た。


1o0 Project