¿Cómo arreglar HTTP 404 en las páginas de Github?

166

Aquí está mi repositorio de GitHub en la gh-pagesrama. Todo se ve bien, tengo mi index.html, mi CSS, JS y carpetas de imágenes.

Pero cuando accedo a http://roine.github.com/p1 obtengo HTTP 404 no encontrado.

¿Alguna explicación y solución?

Jonathan de M.
fuente
2
¿Supongo que seguiste la documentación ? ¿Recibió un correo electrónico? - Desde el 404: "Le enviaremos un correo electrónico cuando se haya creado su página. Pueden pasar hasta diez minutos hasta que su página esté disponible".
David Cain
Probé la página generada, y estaba funcionando bien. Luego eliminé la rama gh-pages y la reconstruí con mi html personalizado. Estoy esperando desde al menos una hora ahora
Jonathan de M.
1
Por favor, intente con https. si está funcionando, después de poco tiempo lo hará conhttp
Rohit Suthar
1
El truco https me funcionó de otra manera. Tengo todo bien y la página de configuración dice que el sitio está publicado, me dio la URL correcta. Sin embargo, sigue dando 404. Cambié la url a http, funcionó, luego https también funcionó. Parece que primero se debe acceder al sitio http para "activarlo".
Dracodoc
2
Para mí comenzó a funcionar después de 10-20 minutos. Lleva tiempo. Sé paciente.
MechaCode

Respuestas:

182

Solo tenía una confirmación con todos mis archivos. Empujé una confirmación vacía, actualicé la página y funcionó.

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

Si esto no funciona, como señaló @Hendrikto en los comentarios, consulte la página de estado de Github y asegúrese de que las páginas de GitHub estén operativas.

Nycen
fuente
2
Estaba usando el paquete npm angular-cli-ghpages y lo que hice fue agregar un espacio a mi archivo index.html, volví a ejecutar el comando "npx ngh" que impulsó un nuevo commit para mí obteniendo los mismos resultados gloriosos. Gracias, esto me dejó perplejo y su respuesta me inspiró a hacer esto.
Patrick Graham el
Si no desea utilizar la línea de comandos, puede editar su dirección README.md desde la interfaz web.
Christophe Le Besnerais
2
También puede ser un problema con Github en sí. Esta página te dice el estado de Github. Tuve el mismo problema, y ​​ninguna solución funcionó. La página de estado decía "rendimiento degradado", y solo tuve que esperar a que los servidores volvieran a funcionar completamente.
Hendrikto
Buen punto @Hendrikto, agregué una referencia a tu comentario en la respuesta.
Nycen
77

En mi caso, tenía carpetas cuyos nombres comenzaron con _(me gusta _cssy _js), que GH Pages ignora según las reglas de procesamiento de Jekyll. Si no usa Jekyll, la solución es colocar un archivo con nombre .nojekyllen el directorio raíz.

Supuhstar
fuente
44
.nojekyll es imprescindible si no está utilizando Jekyll, documentos aquí: github.com/blog/572-bypassing-jekyll-on-github-pages
Claudiu Constantin
2
Gracias por esto, envié un correo electrónico a github y les pedí que actualizaran su guía en pages.github.com (que no menciona el archivo .nojekyll)
sunyata
1
¡Gracias! Fue necesario para la aplicación Vue, lástima que no se menciona en la guía de implementación vue-cli.
Ondřej Ševčík
Esto me lo arregló. Mi sitio de usuario funcionaba originalmente sin él, pero dejó de funcionar. Simplemente puede agregar un archivo en línea y confirmarlo allí también. Hice esto, actualizado y funcionó al instante.
bot19
@Supuhstar gracias hermano. me salvas la vida)
voronovam
73

Hice todos los trucos aquí en My Fork para arreglar la página 404 en la página de Github, pero no dejaba de funcionar.

Finalmente descubrí que mi navegador apenas conserva el caché de 10 minutos antes de que se active en la web.

Simplemente agregue /index.htmlal final de la URL, luego apareció y resolvió el caso.

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

Chetabahana
fuente
1
Esto funcionó para mí. Creé el sitio siguiendo las instrucciones en la página principal de páginas de GitHub, por lo que es un poco decepcionante que no funcione de inmediato.
CGK
1
¡Gracias! Yo tuve el mismo problema. Es extraño que tengamos que agregar /index.html.
Raja Rao
1
Hice un borrado de caché suave pero no funcionó, pero agregar /index.html funcionó. Gracias
Prince Tegaton
1
También funcionó para mí, pero esto nunca me había sucedido antes, actualmente tengo varias páginas ejecutándose en username.github.io y username.github.io/ < additional - page > y nunca he necesitado agregar un index.html
Sanchit Batra
Tuve que abrir la consola de desarrollo y forzar index.html en la url. Gracias o /
heavyrick
51

Hace cuatro meses me puse en contacto con el soporte y me dijeron que era un problema de su parte, lo han solucionado temporalmente (para el compromiso actual).

Hoy lo intenté de nuevo

  1. Eliminé la rama gh-pages en github

    git push origin --delete gh-pages

  2. Eliminé la rama de gh-pages en local

    git branch -D gh-pages

  3. Reinicio git

    git init

  4. Recreé la sucursal en local

    git branch gh-pages

  5. Empujé la rama de gh-pages a github

    git push origin gh-pages

Funciona bien, finalmente puedo actualizar mis archivos en la página.

Jonathan de M.
fuente
32
Aparentemente, ni siquiera necesita eliminar su sucursal local. Justo git checkout gh-pages ; git push origin --delete gh-pages ; git push originy listo.
interestinglythere
44
Eliminar la rama remota y presionar la mía nuevamente resolvió el problema. La página fue visible después de un minuto.
Kulbi
Creo que se supone que es una rama "huérfana"
camino del futuro
Solo tenía que eliminar la rama de origen ("gh-pages") y volver a hacer todo. ¡Trabajó para mi!
wle8300
34

Si aún no lo ha hecho, elija un tema Jekyll en la pestaña de configuración de las páginas de GitHub. Aparentemente esto es necesario incluso si no está utilizando Jekyll para su sitio de Pages.

Captura de pantalla de configuración de GitHub

Chris
fuente
8
Estaba obteniendo 404 Not Found y después de haber probado las dieciocho soluciones sugeridas en las respuestas aquí, documenté mis intentos en una pregunta duplicada: HTML muy simple que resultó en 404 Not Found en las páginas de GitHub . La decimonovena respuesta de Chris fue la que me lo arregló. GitHub Pages es un gran servicio, es una pena que la documentación sea tan pobre.
dumbledad
3
Simplemente elegir un esquema aún no es suficiente, ¡también necesita crear una nueva confirmación en la gh-pagesrama para activar una actualización después!
sschuberth
20

Tuve el mismo problema después de bifurcar un repositorio con una gh-pagessucursal. Pude solucionarlo simplemente presionando un nuevo commit (solo espacio en blanco index.html) en la gh-pagesrama de mi fork .

Arcilla
fuente
Puse un espacio en blanco en "index.html", comprometí y empujé los cambios. No pasó nada. Se eliminó el espacio en blanco del nombre del archivo, se confirmaron y se presionaron los cambios nuevamente y funcionó. Gracias.
Nahiyan
También tenga en cuenta que las páginas de Github utilizan una pequeña ventana de almacenamiento en caché (10 minutos en el momento de la escritura:) Cache-Control:max-age=600. por lo que es posible que también tenga que esperar en esa ventana de caché para caducar o forzar la actualización de su navegador.
Clay
1
¿Por qué meterse con el espacio en blanco? Simplemente presione un commit vacío con --allow-empty.
Hendrikto
18

En mi caso el 8 / Ago / 2017

  1. si su página de usuario es https://github.com/mgravell , su nombre de repositorio debe ser mgravell.github.io
  2. bajo root, crea un archivo index.html

  3. en la raíz, cree una carpeta docs, cree un archivo CNAMEen docs(nota: NO hay extensión como .txt, asegúrese de que su sistema de archivos muestre la extensión)

  4. gh-pagesla rama es opcional, la masterrama es suficiente

más : consulte los documentos oficiales aquí: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/

Eterno
fuente
1
¡Lo hizo! Agregar una carpeta de documentos vacía y un archivo CNAME vacío (sin extensión) hizo el truco.
José A
Falta CNAME aquí también :)
Frexuz
¿Debería estar vacío el archivo CNAME? Si no, ¿qué debería haber en él?
dumbledad
@dumbledad el archivo vacío estará bien
Timeless
15

Solo espera unos diez minutos a una hora. Si aún no funciona, contacte a github. Por lo general, es el problema al final. Pero, si tiene prisa, puede intentar abrir agregando "?" signo de interrogación al final de la URL. Obliga a la consulta a buscar el recurso. Me gusta esto:

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

Rivalus
fuente
14

Mis páginas también siguieron 404'ing. Se contactó con el soporte y señalaron que la url distingue entre mayúsculas y minúsculas; resuelto mi problema

JefClaes
fuente
2
Ya probé ambos, con y sin capital, antes de contactar al soporte
Jonathan de M.
3

Si está seguro de que su estructura es correcta, simplemente presione una confirmación vacía o actualice el archivo index.html con algo de espacio, ¡funciona!

Iman Dastbelaraki
fuente
3

Agregue lo siguiente al comienzo del archivo index.html

<!DOCTYPE html>
Anirban Mukherjee
fuente
2

en mi caso tuve que ir a la configuración del proyecto y habilitar las páginas de github. El valor predeterminado es apagado

João Nunes
fuente
2

En mi caso, todas las sugerencias anteriores fueron correctas. Tenía la mayoría de las páginas funcionando, excepto algunas que devolvían 404 a pesar de que los archivos de descuento están allí y parecían correctos. Esto es lo que me solucionó en estas páginas:

  • En una página, había algunos caracteres especiales que no forman parte de UTF-8 y creo que es por eso que las páginas de GitHub no pudieron representarlos. La actualización / eliminación de estos caracteres y la inserción de una nueva confirmación lo arreglaron.
  • En otra página, descubrí que había apóstrofos 'alrededor del título, los eliminé y el contenido de la página comenzó a mostrarse bien.
Tiene AlTaiar
fuente
2

Tuve este problema exacto con typedocs. El archivo README.md funcionó pero ninguno de los documentos reales generados por mis cadenas de documentos se muestran, acabo de recibir una pantalla de 404 páginas de Github.

Para solucionar esto, simplemente coloque un archivo vacío en su directorio / docs (o donde sea que genere sus documentos) y llámelo .nojekyll

Para confirmar, su estructura de archivos ahora debería verse así:

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

Empuje esto a su repositorio remoto de Github y sus enlaces, etc., deberían funcionar ahora.

También asegúrese de haber seleccionado en su configuración de Github:

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

Dependiendo de su marco de documentación, es probable que tenga que volver a crear este archivo cada vez que actualice sus documentos, este es un ejemplo del uso de typedocs y la creación del archivo .nojekyll cada vez en un archivo package.json:

# package.json

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

Limité mi dominio antes de que apareciera este problema. Me comprometí y empujé la rama gh-pages y resolvió mi problema. Los nuevos commits obligan a jekyll a reconstruir sus páginas.

sauce
fuente
1

En mi caso, la URL era bastante larga. Entonces, supongo que hay un límite. Lo puse en mi subdominio personalizado y funcionó.

Ahmad Awais
fuente
1

Si vio 404, incluso todo parece correcto, intente cambiar https / http.

La pregunta original tiene la URL incorrecta, por lo general, puede verificar la configuración del repositorio y encontrar la URL correcta para el sitio generado.

Sin embargo, tengo todo configurado correctamente, y la página de configuración dice que está publicado, entonces aún vi 404.

Gracias por el comentario de @Rohit Suthar (aunque ese comentario era usar https), cambié la url a http y funcionó, luego https también funcionó.

dracodoc
fuente
1

En un repositorio privado, cuando agregué y empujé mi rama de gh-pages a github, la configuración de las páginas de github cambió automáticamente para indicar que la rama de gh-pages se publicaría, pero no hay una barra verde o azul con github.io url y sin opciones de dominio personalizadas.

No fue hasta que cambié la fuente a master y rápidamente cambié la fuente a gh-pages que realmente se actualizó con la barra verde que contiene la URL publicada.

chrismarx
fuente
1
Esto ayuda. Mi proyecto era privado al principio y en ese estado empujé el proyecto a las páginas de Github y obtuve 404 (ofc). Después de cambiar de gh-pagesa master, y luego de volver mastera gh-pagestodo, todo estuvo bien y la aplicación comenzó a funcionar.
Zrna
1

Otra variante de este error:

Configuré mi primera página de Github después de un tutorial, pero le di al archivo readme.md, desde mi perspectiva, un nombre más significativo:welcome.md .

Ese fue un error fatal:

Usaremos su archivo README como índice del sitio si no tiene un index.md(o index.html), no muy diferente de cuando navega a un repositorio en GitHub.

desde Publicar con GitHub Pages, ahora tan fácil como 1, 2, 3

Luego pude acceder a la página de mi sitio web utilizando el published atenlace especificado en Repository/ Settings/ GitHub Pagesseguido de welcome.htmlo más corto welcome.

CarpeDiemKopi
fuente
1

Por alguna razón, la implementación de las páginas de GitHub dejó de funcionar hoy (2020-mayo-05). Anteriormente no tenía ningún html, solo archivos md. Traté de crear un index.html y publicó la página de inmediato. Después de eliminar index.html, la publicación sigue funcionando.

030
fuente
1

En mi caso, en react fue necesario seleccionar la rama gh-pages:

ingrese la descripción de la imagen aquí

Jöcker
fuente
0

¡Vaya a la sección de configuración de su repositorio y elija la rama maestra en la sección Fuente y haga clic en el botón Guardar después de eso actualice la página y podrá ver el enlace de su página !.

twenk11k
fuente
0

También enfrenté este problema (404) y la causa raíz fue que mi archivo fue nombrado INDEX.md. Estaba desarrollando en Windows y mi sitio local de Jekyll funcionó (ya que Windows trata los nombres de archivo sin distinción entre mayúsculas y minúsculas por defecto). Cuando lo empujaron a Github, no funcionó. Una vez que cambié el nombre de INDEX.mda index.md, las cosas funcionaron bien.

Parag Deuskar
fuente
0

Otro escenario más:

  • utilizando una página de organización (no una página de proyecto) que tenga un repositorio denominado <orgname>.github.io
  • documentos de origen como marcado en master rama (asciidoc)
  • Travis CI extrae archivos de documentos fuente mastery empuja los archivos html generados agh-pages ramificar

La gh-pagesrama se actualiza con las páginas html generadas. El GitHubEnvironment pestaña proporciona el enlace a la página de la organización. Hacer clic en él da como resultado a 404.

De acuerdo con https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/

Las páginas de usuarios y organizaciones que tienen este tipo de nombre de repositorio solo se publican desde master sucursal

Si entiendo esto correctamente, las páginas de GitHub no se publicarán desde la gh-pagessucursal si está creando una UseroOrganization sitio sitio en lugar de unProject sitio.

Cambié el nombre de mi repositorio para que sea un Projectsitio en lugar de un Organizationsitio y luego la gh-pagessucursal se publicó como se esperaba.

Glenn
fuente
0

Tuve el mismo problema ... Problema muy extraño ... Mi HTML estaba con espacio después del título

> <title>
> 
> <script>

Solucionado, después de quitar espacio

> <title>
> <script>
Pastuh
fuente
0

Además, las páginas de GitHub actualmente no son compatibles con Git LFS . Como tal, si tiene imágenes (u otros activos binarios) en páginas de GitHub comprometidas con Git LFS, obtendrá 404 que no se encuentra para esos archivos.

Esto será bastante común para la documentación generada con Doxygen o una herramienta similar.

La solución en este caso es simplemente no confirmar esos archivos con Git LFS.

falso
fuente
0

En mi caso mi repositorio era privado. Haga público el repositorio y repita todos los pasos.

Santosh Kadam
fuente
0

También me enfrenté a este problema, mis páginas obtenían 404. Y luego agregué README.md en mi repositorio, y el 404 desapareció.

Tri
fuente