Wie kann man HTTP 404 auf Github-Seiten reparieren?

166

Hier ist mein GitHub-Repository in der gh-pagesBranche. Alles sieht gut aus, ich habe meine index.html, meine CSS-, JS- und Bildordner.

Wenn ich jedoch auf http://roine.github.com/p1 zugreife , wird HTTP 404 nicht gefunden.

Irgendeine Erklärung und Lösung?

Jonathan de M.
quelle
2
Ich nehme an, Sie haben die Dokumentation befolgt ? Haben Sie eine E-Mail? - Aus dem 404: "Wir senden Ihnen eine E-Mail, wenn Ihre Seite erstellt wurde. Es kann bis zu zehn Minuten dauern, bis Ihre Seite verfügbar ist."
David Cain
Ich habe die generierte Seite ausprobiert und sie hat einwandfrei funktioniert. Dann habe ich den gh-pages-Zweig entfernt und ihn mit meinem benutzerdefinierten HTML-Code neu erstellt. Ich warte seit mindestens einer Stunde
Jonathan de M.
1
Bitte versuchen Sie es mit https. Wenn es funktioniert, wird es nach einiger Zeit mithttp
Rohit Suthar
1
Der https-Trick hat bei mir auf andere Weise funktioniert. Ich habe alles richtig gemacht und die Einstellungsseite sagte, dass die Seite veröffentlicht wurde, gab mir die richtige URL. Es gibt jedoch weiterhin 404. Ich habe die URL in http geändert, es hat funktioniert, dann hat auch https funktioniert. Es sieht so aus, als müsste auf die http-Site zugegriffen werden, um sie zuerst zu "aktivieren".
Dracodoc
2
Für mich fing es nach 10-20 Minuten an zu arbeiten. Es braucht Zeit. Also sei geduldig.
MechaCode

Antworten:

181

Ich hatte nur ein Commit mit all meinen Dateien. Ich habe ein leeres Commit gepusht, die Seite aktualisiert und es hat funktioniert.

git commit --allow-empty -m "Trigger rebuild"
git push

Wenn dies nicht funktioniert, wie @Hendrikto in den Kommentaren hervorhob, überprüfen Sie die Github- Statusseite und stellen Sie sicher, dass GitHub-Seiten funktionsfähig sind.

Nycen
quelle
2
Ich habe das npm-Paket angle-cli-ghpages verwendet und meiner index.html-Datei ein Leerzeichen hinzugefügt und den Befehl "npx ngh" erneut ausgeführt, wodurch ein neues Commit für mich ausgelöst wurde, um die gleichen hervorragenden Ergebnisse zu erzielen. Danke, das hat mich verblüfft und Ihre Antwort hat mich dazu inspiriert.
Patrick Graham
Wenn Sie die Befehlszeile nicht verwenden möchten, können Sie Ihre README.md-Direktive einfach über die Weboberfläche bearbeiten.
Christophe Le Besnerais
2
Es kann auch ein Problem mit Github selbst sein. Diese Seite informiert Sie über den Status von Github. Ich hatte das gleiche Problem und es funktionierte keine Lösung. Auf der Statusseite stand "Leistungseinbußen", und ich musste nur warten, bis die Server wieder voll funktionsfähig waren.
Hendrikto
Guter Punkt @Hendrikto, ich habe in der Antwort einen Verweis auf Ihren Kommentar hinzugefügt.
Nycen
77

In meinem Fall hatte ich Ordner, deren Namen mit _(like _cssund _js) begannen, die GH Pages gemäß den Jekyll-Verarbeitungsregeln ignoriert. Wenn Sie Jekyll nicht verwenden, besteht die Problemumgehung darin, eine Datei mit dem Namen .nojekyllim Stammverzeichnis abzulegen.

Supuhstar
quelle
4
.nojekyll ist ein Muss, wenn Sie Jekyll nicht verwenden. Dokumente hier: github.com/blog/572-bypassing-jekyll-on-github-pages
Claudiu Constantin
2
Vielen Dank dafür, ich habe github eine E-Mail geschickt und sie gebeten, ihren Leitfaden unter pages.github.com (in dem die .nojekyll-Datei nicht erwähnt wird) zu aktualisieren
sunyata
1
Vielen Dank! Es wurde für die Vue-App benötigt, schade, dass es im Vue-Cli-Bereitstellungshandbuch nicht erwähnt wird.
Ondřej Ševčík
das hat es für mich behoben. Meine Benutzerseite funktionierte ursprünglich ohne sie, funktionierte aber nicht mehr. Sie können eine Datei einfach online hinzufügen und dort auch festschreiben. Ich tat dies, erfrischt und es funktionierte sofort.
bot19
@Supuhstar danke Bruder. du
rettest
72

Ich habe alle Tricks hier auf My Fork gemacht , um Seite 404 auf Github Page zu reparieren, aber es ging weiter.

Endlich stellte sich heraus, dass mein Browser den 10-Minuten-Cache kaum im Web hält.

Fügen Sie einfach /index.htmldas Ende der URL hinzu, dann wird es angezeigt und der Fall gelöst.

https://username.github.io/index.html

Chetabahana
quelle
1
Das hat bei mir funktioniert. Ich habe die Site gemäß den Anweisungen auf der GitHub-Hauptseite erstellt, daher ist es etwas enttäuschend, dass sie nicht sofort funktioniert.
CGK
1
Vielen Dank! Ich hatte das gleiche Problem. Es ist bizarr, dass wir /index.html hinzufügen müssen.
Raja Rao
1
Ich habe einen Soft-Cache gelöscht, aber es hat nicht funktioniert, aber das Hinzufügen von /index.html hat funktioniert. Vielen Dank
Prinz Tegaton
1
Hat auch für mich funktioniert, aber das ist mir noch nie passiert. Derzeit laufen mehrere Seiten auf username.github.io und username.github.io/ < additional- page > und ich musste nie eine index.html anhängen
Sanchit Batra
Ich musste die Dev-Konsole öffnen und index.html in der URL erzwingen. Dank o /
heavyrick
50

Vor vier Monaten habe ich den Support kontaktiert und sie sagten mir, es sei ein Problem auf ihrer Seite, sie haben es vorübergehend behoben (für das aktuelle Commit).

Heute habe ich es erneut versucht

  1. Ich habe den Gh-Pages-Zweig auf Github gelöscht

    git push origin --delete gh-pages

  2. Ich habe den Gh-Pages-Zweig auf local gelöscht

    git branch -D gh-pages

  3. Ich habe git neu initialisiert

    git init

  4. Ich habe die Filiale auf lokaler Ebene neu erstellt

    git branch gh-pages

  5. Ich habe den Gh-Pages-Zweig auf Github geschoben

    git push origin gh-pages

Funktioniert gut, ich kann endlich meine Dateien auf der Seite aktualisieren.

Jonathan de M.
quelle
31
Anscheinend müssen Sie nicht einmal Ihre lokale Niederlassung löschen. Nur git checkout gh-pages ; git push origin --delete gh-pages ; git push originund du bist fertig.
Interessanterweise gibt es
4
Das Löschen des Remote-Zweigs und das erneute Drücken von Mine lösten das Problem. Seite war nach einer Minute sichtbar.
Kulbi
Ich denke, es wird angenommen, dass es sich um einen "verwaisten" Zweig handelt
Weg zum zukünftigen
Musste nur den Ursprungszweig ("gh-pages") löschen und alles neu machen. Hat für mich gearbeitet!
wle8300
34

Wenn Sie es noch nicht getan haben, wählen Sie ein Jekyll-Thema auf der Registerkarte "GitHub Pages-Einstellungen". Anscheinend ist dies auch dann erforderlich, wenn Sie Jekyll nicht für Ihre Pages-Site verwenden.

Screenshot der GitHub-Einstellungen

Chris
quelle
8
Ich bekam 404 nicht gefunden und nachdem ich alle achtzehn der anderen in den Antworten vorgeschlagenen Lösungen ausprobiert hatte, dokumentierte ich meine Versuche in einer doppelten Frage: Sehr einfaches HTML, was dazu führte, dass 404 nicht auf GitHub-Seiten gefunden wurde . Chris '19. Antwort war die, die es für mich behoben hat. GitHub Pages ist ein großartiger Service, es ist eine Schande, dass die Dokumentation so schlecht ist.
Dumbledad
3
Es reicht nicht aus, nur ein Schema auszuwählen. Sie müssen auch ein neues Commit für den gh-pagesZweig erstellen , um anschließend ein Update auszulösen.
Sschuberth
20

Ich hatte das gleiche Problem, nachdem ich ein Repo mit einem gh-pagesZweig gegabelt hatte . Ich konnte das Problem beheben, indem ich einfach ein neues Commit (nur Leerzeichen index.html) in den gh-pagesZweig meiner Gabel drückte .

Lehm
quelle
Ich habe ein Leerzeichen in "index.html" eingefügt, Änderungen festgeschrieben und gepusht. Nichts ist passiert. Leerzeichen aus dem Dateinamen entfernt, Änderungen festgeschrieben und erneut gepusht und es hat funktioniert! Vielen Dank.
Nahiyan
Beachten Sie auch, dass Github-Seiten ein kleines Caching-Fenster verwenden (10 Minuten zum Zeitpunkt des Schreibens :) Cache-Control:max-age=600. Daher müssen Sie möglicherweise auch in diesem Cache-Fenster warten, bis der Browser abläuft oder eine Aktualisierung erzwungen wird.
Clay
1
Warum mit dem Leerzeichen herumspielen? Drücken Sie einfach ein leeres Commit mit --allow-empty.
Hendrikto
18

In meinem Fall am 8 / Aug / 2017

  1. Wenn Ihre Benutzerseite https://github.com/mgravell lautet , muss Ihr Reponame mgravell.github.io sein
  2. Erstellen Sie unter root eine Datei index.html

  3. Erstellen Sie unter root einen Ordner docs, erstellen Sie eine Datei CNAMEunter docs(Hinweis: KEINE Erweiterung wie .txt, stellen Sie sicher, dass Ihr Dateisystem die Erweiterung anzeigt)

  4. gh-pagesVerzweigung ist optional, masterVerzweigung ist ausreichend

Weitere Informationen finden Sie in den offiziellen Dokumenten hier: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/

Zeitlos
quelle
1
Es hat! Das Hinzufügen eines leeren Dokumentenordners und einer leeren CNAME-Datei (keine Erweiterung) hat den Trick gemacht !!
Jose A
Fehlender CNAME auch hier :)
Frexuz
Sollte die CNAME-Datei leer sein? Wenn nicht, was sollte drin sein?
Dumbledad
@ Dumbledad leere Datei wird in Ordnung sein
Timeless
15

Warten Sie einfach etwa zehn Minuten bis eine Stunde. Wenn es immer noch nicht funktioniert, wenden Sie sich an github. Normalerweise ist es das Problem am Ende. Wenn Sie es jedoch eilig haben, können Sie versuchen, durch Hinzufügen von "?" Fragezeichen am Ende der URL. Es erzwingt die Suche nach der Ressource. So was:

http://roine.github.com/p1?

Rivalus
quelle
14

Meine Seiten blieben auch 404'ing. Kontaktierte den Support und sie wiesen darauf hin, dass bei der URL zwischen Groß- und Kleinschreibung unterschieden wird. löste mein Problem.

JefClaes
quelle
2
Ich habe es bereits mit und ohne Kapital versucht, bevor ich mich an den Support wandte
Jonathan de M.
3

Wenn Sie sicher sind, dass Ihre Struktur korrekt ist, drücken Sie einfach ein leeres Commit oder aktualisieren Sie die Datei index.html mit etwas Speicherplatz. Es funktioniert!

Iman Dastbelaraki
quelle
3

Fügen Sie am Anfang der Datei index.html Folgendes hinzu

<!DOCTYPE html>
Anirban Mukherjee
quelle
2

In meinem Fall musste ich zu den Projekteinstellungen gehen und die Github-Seiten aktivieren. Die Standardeinstellung ist deaktiviert

João Nunes
quelle
2

In meinem Fall waren alle obigen Vorschläge korrekt. Ich hatte die meisten Seiten in Arbeit, außer wenigen, die 404 zurückgaben, obwohl die Markdown-Dateien dort waren und sie korrekt schienen. Folgendes hat es für mich auf diesen Seiten behoben:

  • Auf einer Seite gab es einige Sonderzeichen, die nicht Teil davon sind, UTF-8und ich denke, deshalb konnten GitHub-Seiten sie nicht rendern. Durch das Aktualisieren / Entfernen dieser Zeichen und das Drücken eines neuen Commits wurde das Problem behoben.
  • Auf einer anderen Seite stellte ich fest, dass 'der Titel von Apostrophen umgeben war. Ich entfernte sie und der Seiteninhalt wurde gut angezeigt
Hat AlTaiar
quelle
2

Ich hatte genau dieses Problem mit Typedocs. Die README.md hat funktioniert, aber keines der von meinen Dokumentzeichenfolgen generierten Dokumente wurde angezeigt. Ich habe gerade einen Bildschirm mit 404 Github-Seiten erhalten.

Um dies zu beheben, platzieren Sie einfach eine leere Datei in Ihrem Verzeichnis / docs (oder wo immer Sie Ihre Dokumente generieren) und rufen Sie sie auf .nojekyll

Zur Bestätigung sollte Ihre Dateistruktur nun wie folgt aussehen:

./docs/.nojekyll  # plus all your generated docs

Schieben Sie dies auf Ihr Remote-Github-Repo und Ihre Links usw. sollten jetzt funktionieren.

Stellen Sie außerdem sicher, dass Sie in Ihren Github-Einstellungen Folgendes ausgewählt haben:

Settings -> Github Pages -> Source -> master brach /docs folder

Abhängig von Ihrem Dokumentframework müssen Sie diese Datei wahrscheinlich jedes Mal neu erstellen, wenn Sie Ihre Dokumente aktualisieren. Dies ist ein Beispiel für die Verwendung von typedocs und das Erstellen der .nojekyll-Datei jedes Mal in einer package.json-Datei:

# package.json

      "scripts": {
        "typedoc": "typedoc --out docs src && touch docs/.nojekyll"
      },
Joe Gasewicz
quelle
1

Ich habe meine Domain gebunden, bevor dieses Problem auftrat. Ich habe die Gh-Seiten des Zweigs festgelegt und verschoben, und es hat mein Problem gelöst. Neue Commits zwingen Jekyll, Ihre Seiten neu zu erstellen.

Strongwillow
quelle
1

In meinem Fall war die URL ziemlich lang. Ich denke, es gibt eine Grenze. Ich habe es in meine benutzerdefinierte Subdomain gestellt und es hat funktioniert.

Ahmad Awais
quelle
1

Wenn Sie 404 gesehen haben, sieht sogar alles richtig aus, versuchen Sie, https / http zu wechseln.

Die ursprüngliche Frage hat die falsche URL. Normalerweise können Sie die Repo-Einstellungen überprüfen und die richtige URL für die generierte Site finden.

Allerdings habe ich alles richtig eingerichtet und die Einstellungsseite sagte, dass es veröffentlicht wurde, dann sah ich immer noch 404.

Vielen Dank für den Kommentar von @Rohit Suthar (obwohl dieser Kommentar https verwenden sollte), ich habe die URL in http geändert und es hat funktioniert, dann hat https auch funktioniert.

Dracodoc
quelle
1

In einem privaten Repo wurden beim ersten Hinzufügen und Verschieben meines Gh-Pages-Zweigs zu Github die Einstellungen für Github-Seiten automatisch geändert, um anzuzeigen, dass der Gh-Pages-Zweig veröffentlicht werden würde, aber es gibt keinen grünen oder blauen Balken mit github.io URL und keine benutzerdefinierten Domain-Optionen.

Erst als ich die Quelle auf Master umstellte und die Quelle schnell wieder auf Gh-Seiten umstellte, wurde sie tatsächlich mit dem grünen Balken aktualisiert, der die veröffentlichte URL enthält.

Chrismarx
quelle
1
Das hilft. Mein Projekt war anfangs privat und in diesem Zustand habe ich das Projekt auf Github-Seiten verschoben und ich bekomme 404 (ofc). Nach dem Wechsel von gh-pageszu masterund dann wieder von masterzu war gh-pagesalles in Ordnung und die Anwendung begann zu funktionieren.
Zrna
1

Eine andere Variante dieses Fehlers:

Ich habe meine erste Github-Seite nach einem Tutorial eingerichtet, aber der Datei readme.mdaus meiner Sicht einen aussagekräftigeren Namen gegeben : welcome.md.

Das war ein fataler Fehler:

Wir verwenden Ihre README-Datei als Index für die Site, wenn Sie kein index.md(oder index.html) haben, das sich nicht von dem unterscheidet, wenn Sie zu einem Repository auf GitHub navigieren.

vom Veröffentlichen mit GitHub-Seiten, jetzt so einfach wie 1, 2, 3

Ich konnte dann über den unter / / gefolgt von oder kürzer angegebenen published atLink auf meine Webseite zugreifen .RepositorySettingsGitHub Pageswelcome.htmlwelcome

CarpeDiemKopi
quelle
1

Aus irgendeinem Grund funktionierte die Bereitstellung der GitHub-Seiten heute (05. Mai 2020) nicht mehr. Bisher hatte ich kein HTML, nur MD-Dateien. Ich habe versucht, eine index.html zu erstellen, die die Seite sofort veröffentlichte. Nach dem Entfernen von index.html funktioniert die Veröffentlichung weiter.

030
quelle
1

In meinem Fall war eine Reaktion erforderlich, um den Zweig gh-pages auszuwählen:

Geben Sie hier die Bildbeschreibung ein

Jöcker
quelle
0

Gehen Sie zum Einstellungsbereich Ihres Repositorys und wählen Sie im Quellbereich den Hauptzweig. Klicken Sie anschließend auf die Schaltfläche Speichern, um die Seite zu aktualisieren. Der Link Ihrer Seite wird angezeigt.

twenk11k
quelle
0

Ich war auch mit diesem Problem konfrontiert (404) und die Hauptursache war, dass meine Datei benannt wurde INDEX.md. Ich habe unter Windows entwickelt und meine lokale Jekyll-Site hat funktioniert (da Windows bei Dateinamen standardmäßig die Groß- und Kleinschreibung nicht berücksichtigt). Als es zu Github geschoben wurde, funktionierte es nicht. Sobald ich die umbenannte INDEX.mdzu index.md, arbeitete die Dinge gut.

Parag Deuskar
quelle
0

Noch ein Szenario:

  • Verwenden einer Organisationsseite (keine Projektseite) mit einem Repository mit dem Namen <orgname>.github.io
  • Quelldokumente als Markup in masterBranch (Asciidoc)
  • Travis CI zieht Quelldokumentdateien aus masterund verschiebt generierte HTML-Dateien in den gh-pagesZweig

Der gh-pagesZweig wird mit den generierten HTML-Seiten aktualisiert. Die EnvironmentRegisterkarte GitHub enthält den Link zur Organisationsseite. Wenn Sie darauf klicken, wird a 404.

Laut https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/

Benutzer- und Organisationsseiten mit diesem Repository-Namenstyp werden nur in der masterZweigstelle veröffentlicht

Wenn ich das richtig verstehe, werden GitHub-Seiten nicht aus dem gh-pagesZweig veröffentlicht, wenn Sie eine Useroder eine OrganizationSite anstelle einer ProjectSite erstellen .

Ich habe mein Repo umbenannt, um es zu einer ProjectSite und nicht zu einer Site zu machen, Organizationund dann wurde der gh-pagesZweig wie erwartet veröffentlicht.

Glenn
quelle
0

Ich hatte das gleiche Problem. Sehr seltsames Problem. Mein HTML war mit Leerzeichen nach dem Titel

> <title>
> 
> <script>

Behoben, nachdem Platz entfernt wurde

> <title>
> <script>
Pastuh
quelle
0

Außerdem unterstützen GitHub-Seiten Git LFS derzeit nicht . Wenn Sie Bilder (oder andere binäre Assets) auf GitHub-Seiten haben, die mit Git LFS festgeschrieben wurden, wird 404 für diese Dateien nicht gefunden.

Dies ist häufig bei Dokumentationen der Fall, die mit Doxygen oder einem ähnlichen Tool erstellt wurden.

Die Lösung in diesem Fall besteht darin, diese Dateien einfach nicht mit Git LFS festzuschreiben.

gefälscht
quelle
0

In meinem Fall war mein Repository privat. Machen Sie das Repository öffentlich und führen Sie alle Schritte erneut durch.

Santosh Kadam
quelle
0

Ich war auch mit diesem Problem konfrontiert, da meine Seiten 404 erhielten. Dann fügte ich README.md zu meinem Repository hinzu, und die 404 war verschwunden.

Tri
quelle