Skip to main content

GitHub ページ サイトの 404 エラーのトラブルシューティング

このガイドは、404 エラーが発生するおそれがある一般的な理由のトラブルシューティングに役立ちます。

この機能を使用できるユーザーについて

GitHub Pagesは、パブリック・リポジトリのGitHub Freeと組織用のGitHub Free、パブリック・リポジトリとプライベート・リポジトリのGitHub Pro、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Serverで利用できます。 詳細については、「GitHubのプラン」を参照してください。

404 エラーのトラブルシューティング

このガイドでは、GitHub Pages サイトの構築中に 404 エラーが発生するおそれがある一般的な理由について説明します。

  •           [GitHub の状態のページ](#githubs-status-page)
    
  •         [DNS セットアップ](#dns-setup)
    
  •         [ブラウザのキャッシュ](#browser-cache)
    
  •         [
            `index.html` ファイル](#indexhtml-file)
    
  •         [ディレクトリの内容](#directory-contents)
    
  •         [カスタム ドメイン](#custom-domain)
    
  •         [リポジトリ](#repository)
    

GitHub の [状態] ページ

GitHub Pages サイトの構築中に 404 エラーが発生した場合は、まず、アクティブなインシデントに対して GitHub の [状態] ページをチェックしてください。

DNS のセットアップ

GitHubの DNS レコードが DNS プロバイダーで正しく設定されていることを確認してください。 詳細については、「GitHub ページ サイトのカスタム ドメインの管理」を参照してください。

ブラウザのキャッシュ

GitHub Pages サイトが非公開で、404 エラーが表示される場合は、ブラウザーのキャッシュをクリアする必要がある場合があります。 キャッシュの削除についての詳しい情報については、ブラウザのドキュメントを参照してください。

          `index.html` ファイル

GitHub Pages では、サイト用のエントリファイルとして index.html を検索します。

  • GitHub 上のサイトのリポジトリに index.html ファイルがあることを確認してください。 詳しくは、「GitHub ページ サイトの作成」をご覧ください。

  • エントリ ファイルは、選んだ発行ソースの最上位レベルにある必要があります。 たとえば、公開元が /docs ブランチ上の main ディレクトリである場合、エントリ ファイルは、/docs という名前のブランチ上の main ディレクトリ内に配置する必要があります。

    公開元がブランチとディレクトリの場合、エントリ ファイルはソース ブランチ上のソース ディレクトリの最上位レベルにある必要があります。 たとえば、公開元が /docs ブランチ上の main ディレクトリである場合、エントリ ファイルは、/docs という名前のブランチ上の main ディレクトリ内に配置する必要があります。

    公開元が GitHub Actions ワークフローである場合、デプロイする成果物には、成果物の最上位レベルにあるエントリ ファイルが含まれている必要があります。 エントリ ファイルをリポジトリに追加する代わりに、GitHub Actions ワークフローの実行時にエントリ ファイルを生成するように選択することもできます。

  •         `index.html` ファイル名は大文字と小文字が区別されます。 たとえば、`Index.html` は機能しません。
    
  • ファイルの名前は、index.html ではなく index.HTML、またはその他のバリエーションである必要があります。

ディレクトリの内容

ディレクトリの内容がルート ディレクトリにあることを確認してください。

カスタム ドメイン

カスタム ドメインを使用している場合は、正しく設定されていることを確認してください。 詳しくは、「カスタム ドメインと GitHub ページについて」をご覧ください。

  •         `CNAME` レコードは常に、`<USER>.github.io` または `<ORGANIZATION>.github.io` (リポジトリ名を除く) を指す必要があります。 正しいレコードの作成方法に関する詳しい情報については、DNSプロバイダのドキュメンテーションを参照してください。
    
  • ランディング ページにアクセスできても、全体でリンクが壊れている場合は、以前にカスタム ドメイン名を持っていなかったか、カスタム ドメイン名を持つ前の状態に戻ったことが原因である可能性があります。 このような場合、ルーティング パスを変更しても、ページの再構築は始まりません。 推奨される解決策は、カスタム ドメイン名を追加または削除するときにサイトが自動的に再構築されるようにすることです。 これには、コミット作成者の構成とカスタム ドメイン名の設定の変更が含まれる場合があります。

リポジトリ

リポジトリが次の要件を満たしているかどうかを確認してください。

  • サイトの発行に使用するブランチは、main または既定のブランチである必要があります。
  • リポジトリには、リポジトリ所有者のようにリポジトリの管理者権限を持つユーザーによってコミットがプッシュされている必要があります。
  • リポジトリの可視性をパブリックからプライベート、またはその逆に切り替えると、GitHub Pages サイトの URL が変更され、サイトが再構築されるまでリンクが壊れます。
  • GitHub Pages サイトのプライベート リポジトリを使用している場合は、GitHub Pro、GitHub Team、または GitHub Enterprise Cloud サブスクリプションがまだアクティブであるかどうかを確認してください。 プランを更新すると、GitHub Pages サイトが自動的に再配置されます。 それ以外の場合は、リポジトリの表示範囲を公開用に変更して、GitHub Pages を無料で使用し続けることができます。

それでも 404 エラーが発生する場合は、Pages カテゴリで GitHub Community ディスカッション を開始してください。