Come riparare HTTP 404 su Github Pages?


166

Ecco il mio repository GitHub sul gh-pagesramo. Tutto sembra a posto, ho le mie index.htmlcartelle CSS, JS e immagini.

Ma quando accedo a http://roine.github.com/p1 ottengo HTTP 404 non trovato.

Qualche spiegazione e soluzione?


2
Presumo tu abbia seguito la documentazione ? Hai ricevuto un'email? - Dal 404: "Ti invieremo un'email quando la tua pagina sarà stata costruita. Potrebbero essere necessari fino a dieci minuti affinché la tua pagina sia disponibile."
David Cain,

Ho provato la pagina generata e funzionava bene. Quindi ho rimosso il ramo gh-pages e ricostruito con il mio HTML personalizzato. Sto aspettando da almeno un'ora
Jonathan de M.

1
per favore prova con https. se funziona, dopo qualche tempo lo farà perhttp
Rohit Suthar,

1
il trucco https ha funzionato per me in un altro modo. Ho tutto bene e la pagina di impostazione ha detto che il sito è pubblicato, mi ha dato l'URL giusto. Comunque continua a dare 404. Ho cambiato l'URL in http, ha funzionato, quindi anche https ha funzionato. Sembra che sia necessario accedere al sito http per "attivarlo" per primo.
dracodoc,

2
Per me ha iniziato a funzionare dopo 10-20 minuti. Ci vuole tempo. Quindi sii paziente.
Mecha

Risposte:


182

Ho avuto solo un commit con tutti i miei file. Ho inviato un commit vuoto, ho aggiornato la pagina e ha funzionato.

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

Se questo non funziona, come ha sottolineato @Hendrikto nei commenti, controlla la pagina di stato di Github e assicurati che le pagine GitHub siano operative.


2
Stavo usando il pacchetto npm angular-cli-ghpages e quello che ho fatto è stato aggiungere uno spazio al mio file index.html, ripetere il comando "npx ngh" che ha spinto un nuovo commit per me ottenendo gli stessi risultati gloriosi. Grazie, questo mi ha lasciato perplesso e la tua risposta mi ha ispirato a farlo.
Patrick Graham,

se non vuoi usare la riga di comando puoi semplicemente modificare il tuo README.md direttamente dall'interfaccia web.
Christophe Le Besnerais,

2
Potrebbe anche essere un problema con Github stesso. Questa pagina indica lo stato di Github. Ho avuto lo stesso problema e nessuna soluzione ha funzionato. La pagina di stato diceva "prestazioni degradate" e dovevo solo aspettare che i server fossero di nuovo completamente funzionanti.
Hendrikto,

Buon punto @Hendrikto, ho aggiunto un riferimento al tuo commento nella risposta.
Nycen, l'

77

Nel mio caso, avevo cartelle i cui nomi iniziavano con _(like _csse _js), che GH Pages ignora secondo le regole di elaborazione di Jekyll. Se non si utilizza Jekyll, la soluzione alternativa è posizionare un file denominato .nojekyllnella directory principale.


4
.nojekyll è d'obbligo se non stai usando Jekyll, documenti qui: github.com/blog/572-bypassing-jekyll-on-github-pages
Claudiu Constantin

2
Grazie per questo, ho inviato un'email a github e ho chiesto loro di aggiornare la loro guida su pages.github.com (che non menziona il file .nojekyll)
sunyata,

1
Grazie! Era necessario per l'app Vue, peccato che non sia menzionato nella guida alla distribuzione di vue-cli.
Ondřej Ševčík,

questo ha risolto il problema per me. Il mio sito utente originariamente funzionava senza di esso ma ha smesso di funzionare. Puoi semplicemente aggiungere un file online e impegnarlo anche lì. L'ho fatto, rinfrescato e ha funzionato all'istante.
bot19

@Supuhstar grazie fratello. mi salvi la vita)
voronovam il

73

Ho fatto tutti i trucchi qui su My Fork per sistemare la pagina 404 su Github Page, ma ha continuato a 404 '.

Alla fine ho scoperto che il mio browser difficilmente mantiene la cache di 10 minuti prima che sia attiva sul Web.

Basta aggiungere /index.htmlalla fine dell'URL, quindi è apparso e risolto il caso.

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


1
Questo ha funzionato per me. Ho creato il sito seguendo le istruzioni nella pagina principale di GitHub Pages, quindi è un po 'deludente che non funzioni immediatamente.
CGK,

1
Grazie! Ho avuto lo stesso problema. È strano che dobbiamo aggiungere /index.html.
Raja Rao,

1
Ho cancellato una cache soft ma non ha funzionato ma l'aggiunta di /index.html ha funzionato. Grazie
Prince Tegaton,

1
Ha funzionato anche per me, ma questo non mi è mai successo prima, al momento ho più pagine in esecuzione su username.github.io e username.github.io/ <additional
Sanchit Batra

ho dovuto aprire la console di sviluppo e forzare index.html nell'URL. Grazie o /
heavyrick il

51

Quattro mesi fa ho contattato l'assistenza e mi hanno detto che era un problema dalla loro parte, l'hanno risolto temporaneamente (per il commit corrente).

Oggi ho provato di nuovo

  1. Ho eliminato il ramo gh-pages su github

    git push origin --delete gh-pages

  2. Ho eliminato il ramo gh-pages su local

    git branch -D gh-pages

  3. Ho reinizializzato git

    git init

  4. Ho ricreato il ramo su locale

    git branch gh-pages

  5. Ho spinto il ramo gh-pages su github

    git push origin gh-pages

Funziona bene, posso finalmente aggiornare i miei file sulla pagina.


32
Apparentemente, non è nemmeno necessario eliminare la filiale locale. Solo git checkout gh-pages ; git push origin --delete gh-pages ; git push origine il gioco è fatto.
interessante

4
Eliminare il ramo remoto e spingere di nuovo il mio ha risolto il problema. La pagina era visibile dopo un minuto.
Kulbi,

Penso che si supponga di essere un ramo "orfano"
futuro

Ho dovuto cancellare il ramo di origine ("gh-pages") e rifare tutto. Ha funzionato per me!
wle8300,

34

Se non lo hai già fatto, scegli un tema Jekyll nella scheda delle impostazioni di GitHub Pages. Apparentemente questo è necessario anche se non stai usando Jekyll per il tuo sito di Pages.

Schermata delle impostazioni di GitHub


8
Stavo ottenendo 404 Not Found e dopo aver provato tutte le diciotto delle altre soluzioni suggerite nelle risposte qui ho documentato i miei tentativi in ​​una domanda duplicata: HTML molto semplice con 404 Not Found su GitHub Pages . La 19a risposta di Chris è stata quella che l'ha risolto per me. GitHub Pages è un ottimo servizio, è un peccato che la documentazione sia così scadente.
silente il

3
La scelta di uno schema non è ancora sufficiente, è inoltre necessario creare un nuovo commit sul gh-pagesramo per attivare successivamente un aggiornamento!
sschuberth,

20

Ho avuto lo stesso problema dopo aver creato un repository con un gh-pagesramo. Sono stato in grado di risolvere semplicemente spingendo un nuovo commit (solo uno spazio bianco index.html) sul gh-pagesramo del mio fork .


Ho inserito uno spazio bianco in "index.html", ho eseguito il commit e il push delle modifiche. Non è successo niente. Rimosso lo spazio bianco dal nome file, eseguito il commit e il push delle modifiche e ha funzionato! Grazie.
Nahiyan,

nota anche che le pagine github usano una piccola finestra di cache (10 minuti al momento della scrittura:) Cache-Control:max-age=600. quindi potrebbe anche essere necessario attendere la scadenza della finestra della cache o forzare l'aggiornamento del browser.
Clay,

1
Perché pasticciare con gli spazi bianchi? Basta inviare un commit vuoto con --allow-empty.
Hendrikto,

18

Nel mio caso l' 8 / ago / 2017

  1. se la tua pagina utente è https://github.com/mgravell , il nome del repository deve essere mgravell.github.io
  2. sotto root, crea un file index.html

  3. sotto root, crea una cartella docs, crea un file CNAMEsotto docs(nota: NESSUNA estensione come .txt, assicurati che il tuo file system mostri estensione)

  4. gh-pagesil ramo è facoltativo, il masterramo è sufficiente

altro : controlla i documenti ufficiali qui: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/


1
Lo ha fatto! L'aggiunta di una cartella di documenti vuota e di un file CNAME vuoto (senza estensione), ha funzionato !!
Jose A

Qui manca anche CNAME :)
Frexuz,

Il file CNAME dovrebbe essere vuoto? Se no, cosa dovrebbe esserci?
silente il

Il file vuoto di @dumbledad andrà bene
Timeless

15

Aspetta da una decina di minuti a un'ora. Se il problema persiste, contattare github. Di solito è il problema alla fine. Ma, se hai fretta, puoi provare ad aprire aggiungendo "?" punto interrogativo alla fine dell'URL. Forza la query a cercare la risorsa. Come questo:

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


14

Le mie pagine hanno anche mantenuto 404 '. Contatta l'assistenza e hanno sottolineato che l'url è case sensitive; risolto il mio problema.


2
Ho già provato entrambi, con e senza capitale, prima di contattare l'assistenza
Jonathan de M.

3

Se sei sicuro che la tua struttura sia corretta, invia semplicemente un commit vuoto o aggiorna il file index.html con un po 'di spazio, funziona!



2

nel mio caso ho dovuto andare alle impostazioni del progetto e abilitare le pagine github. L'impostazione predefinita è disattivata



2

Nel mio caso, tutti i suggerimenti sopra riportati erano corretti. Ho avuto la maggior parte delle pagine funzionanti, tranne alcune che restituivano 404 anche se i file di markdown sono lì e sembravano corretti. Ecco cosa l'ha risolto per me in queste pagine:

  • Su una pagina c'erano alcuni personaggi speciali che non fanno parte UTF-8e penso che sia per questo che le pagine di GitHub non sono state in grado di renderle. L'aggiornamento / rimozione di questi caratteri e l'invio di un nuovo commit lo hanno corretto.
  • In un'altra pagina, ho scoperto che c'erano degli apostrofi 'attorno al titolo, li ho rimossi e il contenuto della pagina ha iniziato a mostrare bene

2

Ho avuto questo esatto problema con typedocs. README.md ha funzionato, ma nessuno dei documenti reali generati dalle mie stringhe di documenti visualizzati, ho appena ricevuto una schermata di 404 pagine Github.

Per risolvere questo problema, inserisci un file vuoto nella directory / docs (o ovunque generi i tuoi documenti) e chiamalo .nojekyll

Per confermare, la struttura dei file dovrebbe ora apparire come:

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

Invia questo al tuo repository Github remoto e i tuoi collegamenti ecc. Dovrebbero funzionare ora.

Assicurati anche di aver selezionato nelle impostazioni di Github:

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

A seconda del tuo framework di documenti, probabilmente dovrai ricreare questo file ogni volta che aggiorni i tuoi documenti, questo è un esempio dell'uso di typedocs e della creazione del file .nojekyll ogni volta in un file package.json:

# package.json

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

1

Ho associato il mio dominio prima che apparisse questo problema. Ho impegnato e spinto le pagine gh-branch e ho risolto il mio problema. Nuovi commit obbligano jekyll a ricostruire le tue pagine.


1

Nel mio caso, l'URL era piuttosto lungo. Quindi, immagino che ci sia un limite. L'ho inserito nel mio sottodominio personalizzato e ha funzionato.


1

Se hai visto 404 anche tutto sembra a posto, prova a cambiare https / http.

La domanda originale ha l'URL errato, in genere è possibile controllare le impostazioni del repository e trovare l'URL corretto per il sito generato.

Tuttavia, ho impostato tutto correttamente e la pagina delle impostazioni diceva che era pubblicata, quindi ho ancora visto 404.

Grazie per il commento di @Rohit Suthar (anche se quel commento doveva usare https), ho cambiato l'URL in http e ha funzionato, quindi anche https ha funzionato.


1

Su un repository privato, quando per la prima volta ho aggiunto e trasferito il mio ramo gh-pages su github, le impostazioni per le pagine github sono cambiate automaticamente per indicare che il ramo gh-pages sarebbe stato pubblicato, ma non c'è nessuna barra verde o blu con github.io url e nessuna opzione di dominio personalizzata.

Non è stato fino a quando non ho cambiato la fonte in master e rapidamente ripristinata la fonte in gh-pages che si è effettivamente aggiornato con la barra verde che contiene l'URL pubblicato.


1
Questo aiuta. Inizialmente il mio progetto era privato e in quello stato ho inviato il progetto alle pagine di Github e ho ricevuto 404 (ofc). Dopo il passaggio da gh-pagesa master, e poi di nuovo mastera gh-pagestutto andava bene e l'applicazione inizia a funzionare.
Zrna,

1

Un'altra variante di questo errore:

Ho creato la mia prima pagina Github dopo un tutorial, ma ha dato il file readme.mda - dal mio punto di vista - nome più significativo: welcome.md.

È stato un errore fatale:

Useremo il tuo file README come indice del sito se non hai un index.md(o index.html), non dissimile da quando navighi in un repository su GitHub.

dalla pubblicazione con GitHub Pages, ora semplice come 1, 2, 3

Sono stato quindi in grado di accedere alla pagina del mio sito Web utilizzando il published atcollegamento specificato in Repository/ Settings/ GitHub Pagesseguito da welcome.htmlo più breve welcome.


1

Per qualche motivo, la distribuzione delle pagine di GitHub ha smesso di funzionare oggi (2020-mag-05). In precedenza non avevo alcun html, solo file md. Ho provato a creare un index.html e ha pubblicato immediatamente la pagina. Dopo la rimozione di index.html, la pubblicazione continua a funzionare.


1

Nel mio caso in reazione era necessario selezionare il ramo gh-pages:

inserisci qui la descrizione dell'immagine


0

Vai alla sezione delle impostazioni del tuo repository e scegli il ramo principale nella sezione Sorgente e fai clic sul pulsante Salva dopo che aggiorna la pagina e sarai in grado di vedere il link della tua pagina !.


0

Ho affrontato anche questo problema (404) e la causa principale era il nome del mio file INDEX.md. Stavo sviluppando su Windows e il mio sito Jekyll locale funzionava (dal momento che Windows tratta i nomi dei file senza distinzione tra maiuscole e minuscole per impostazione predefinita). Se spinto a Github, non ha funzionato. Una volta ribattezzato il INDEX.mdto index.md, le cose hanno funzionato bene.


0

Ancora un altro scenario:

  • utilizzando una pagina dell'organizzazione (non una pagina del progetto) con un repository denominato <orgname>.github.io
  • documenti di origine come markup nel masterramo (asciidoc)
  • Travis CI che estrae i file doc di origine mastere invia i file html generati al gh-pagesramo

Il gh-pagesramo viene aggiornato con le pagine html generate. La Environmentscheda GitHub fornisce il collegamento alla pagina dell'organizzazione. Cliccandolo si ottiene a 404.

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

Le pagine utente e organizzazione che hanno questo tipo di nome repository sono pubblicate solo dalla masterfiliale

Se lo capisco correttamente, le Pagine GitHub non verranno pubblicate dalla gh-pagesfiliale se stai creando un Usero un Organizationsito anziché un Projectsito.

Ho rinominato il mio repository per renderlo un Projectsito anziché un Organizationsito e quindi il gh-pagesramo è stato pubblicato come previsto.


0

Ho avuto lo stesso problema .. Problema molto strano .. Il mio HTML era con spazio su titolo

> <title>
> 
> <script>

Risolto, dopo aver rimosso lo spazio

> <title>
> <script>

0

Inoltre, le pagine GitHub al momento non supportano Git LFS . Pertanto, se hai immagini (o altre risorse binarie) nelle pagine di GitHub impegnate con Git LFS, otterrai 404 non trovati per quei file.

Questo sarà abbastanza comune per la documentazione generata con Doxygen o strumenti simili.

La soluzione in questo caso è semplicemente non eseguire il commit di quei file con Git LFS.


0

Nel mio caso il mio repository era privato. Rendi pubblico il repository e ripeti tutti i passaggi.


0

Ho anche affrontato questo problema, le mie pagine hanno ottenuto 404. E poi ho aggiunto README.md sul mio repository e il 404 era sparito.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.