Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

GitHub Pagesで404Errorと表示され、Webサイトが公開されません。

GitHub PagesでWebサイトを公開できないことに悩んでいます。

404error.png
上記のように表示され、URLも出てこないままの状態です。


https://sakata-ponsuke.github.io/mokumoku-farm.com/がURLなのですが、アルファベットに間違いはないです。

自分で試したこと

日にちを置いてリロードしたり、Settingsで調べながら調整したのですが上手くいきませんでした。index.htmlは配置しており、CSSファイルも格納されています。

Branchもmainで/docsなのですが、URLが表示されませんでした。

改善方法と修正案

個人的には、画像が多くimgファイルに格納されているのでその影響も出ている?のかなと思います。GitHub PagesでWebサイトを公開した経験のある方、GitHubについて詳しい方がいましたら、アドバイス等よろしくお願いします。

0

3Answer

Branchもmainで/docsなのですが

リポジトリの設定画面の Pages タブで以下の項目を /docs に設定しているという意味ですよね?

スクリーンショット 2024-11-15 10.51.20.png

これはリポジトリの /docs ディレクトリ以下から web ページのソースを探すようにする指示です。

今のリポジトリではソースが /docs ではなく / (ルートディレクトリ)に置かれているので、上記の設定を / (root) に変更してください。

2Like

Comments

  1. @sakata_ponsuke

    Questioner

    コメントありがとうございます。
    /(root)に変更しましたが、まだ404エラーが表示されます。
    今はimgタグの修正をしているのですが、HTMLではimg/example.pngと書いており、imgフォルダにまとめています。
    エディタで書いた時はこれで表示されましたが、GitHub Pagesに記載した途端エラーになりました。
    その他、修正案などご提案していただけると幸いです。

「サイトの公開」は設定されたのでしょうか?

↓こちらが参考になります。

1Like

Comments

  1. @sakata_ponsuke

    Questioner

    コメントありがとうございます。
    Webサイトを公開はしたのですが、「Visit Site」というメッセージが表示されず、今はURLの確認をしています。

404 応答が返ってくるということは、名前解決ができてクライアントからの要求はサーバーに届き、サーバーで url に指定されているリソースを探したが見つからなかったということです。原因はほとんどが指定した url が間違っているということです。なのでそこを調べてください。

間違いには、単純なスペルミス、相対パスの使い方の間違い、サーバーでのルーティングの間違い、要求先サーバーを間違えたなどがあります。ほとんどは質問者さんでないと分からないことです。

1Like

Comments

  1. @sakata_ponsuke

    Questioner

    コメントありがとうございます。
    もう一度、URLについて確認してみますが、「指定したURL」とは具体的にどこを指しますか?教えていただけると幸いです。

  2. 「指定したURL」とは具体的にどこを指しますか?教えていただけると幸いです。

    質問者さんが自分で質問に書いた、

    https://sakata-ponsuke.github.io/mokumoku-farm.com/ がURLなのですが、アルファベットに間違いはないです。

    の url のことです。

    Web サーバーによって違うかもしれませんが、例えば IIS では、上の url のようにトレーリングスラッシュが付いていると、mokumoku-farm.com はディレクトリとみなされ、そのディレクトリにある既定のドキュメントを応答として返すという動きになります。

    ただし、今回の 404 応答は、その前に、mokumoku-farm.com が存在しない(もしくはサーバー内で正しくルーティングできない)という話ではなかろうかと思います。

  3. @sakata_ponsuke

    Questioner

    試しにトレーリングスラッシュを削除したところ、無事にWebサイトを公開することができました!

    Branchの設定(docsとrootについてなど)理解不足な所を補うことができました!
    貴重なご意見ありがとうございました。

  4. 試しにトレーリングスラッシュを削除したところ、無事にWebサイトを公開することができました!

    トレーリングスラッシュの問題ではなく、最初の設定から何か変更したからでは? @uasi さんの回答にあったこととか。

    https://sakata-ponsuke.github.io/mokumoku-farm.com/ を試してみましたが、今は 404 エラーにはならず、以下の結果になります。(最初に質問を見た時点で試した時は質問に書いてある通りの 404 エラー)

    result.jpg

    トレーリングスラッシュなしで試してみると、以下のようにトレーリングスラッシュをつけた url にリダイレクトされます。ほとんどの Web サーバーでは mokumoku-farm.com がディレクトリの場合はそうなるはずです。

    fiddler.jpg

    原因をきちんと把握されることをお勧めします。

  5. @sakata_ponsuke

    Questioner

    @usai さんの意見を参考に、docsからrootに変更して、トレーリングスラッシュを消したら反映されるようになりました。ですが、以前制作したWebサイトとフォルダの構造は同じなので、docsで大丈夫なはずだとは思っていました。

    先ほど、もう一度docsに変更したところ「Visit Site」と表示され、URLも出てきました。
    しかし、トレーリングスラッシュを付けても、付けなくても表示されるので、どう考えたらいいか悩んでいます。

  6. トレーリングスラッシュを付けても、付けなくても表示されるので、どう考えたらいいか悩んでいます。

    付けないと Web サーバーがトレーリングスラッシュを付けた url にリダイレクトしてくれるからです。mokumoku-farm.com はディレクトリなので。

    上の私のコメントに書いた「トレーリングスラッシュなしで試してみると、以下のようにトレーリングスラッシュをつけた url にリダイレクトされます。ほとんどの Web サーバーでは mokumoku-farm.com がディレクトリの場合はそうなるはずです」 を読んで、その下の Fiddler による要求・応答のキャプチャ画像を見てください。

    それで分かると思いますが。

  7. もう一つ。

    上の私の回答で「例えば IIS では、上の url のようにトレーリングスラッシュが付いていると、mokumoku-farm.com はディレクトリとみなされ、そのディレクトリにある既定のドキュメントを応答として返すという動きになります。」と書きましたが、そこは読みましたか?

    質問者さんの web サーバーでもそこは同様なようで、index.html が既定のドキュメントとしてサーバーから返されています。

    result.jpg

Your answer might help someone💌