Como corrigir HTTP 404 no Github Pages?

166

Aqui está o meu repositório GitHub no gh-pagesramo. Tudo parece bom, tenho minhas index.htmlpastas CSS, JS e figuras.

Mas quando eu acesso http://roine.github.com/p1 , recebo o HTTP 404 não encontrado.

Alguma explicação e solução?

Jonathan de M.
fonte
2
Presumo que você seguiu a documentação ? Você recebeu um email? - No 404: "Enviaremos um email quando sua página for criada. Pode levar até dez minutos até que sua página esteja disponível."
David Cain
Eu tentei a página gerada e estava funcionando bem. Depois, removo o ramo gh-pages e o reconstruo com meu html personalizado. Estou esperando há pelo menos uma hora agora
Jonathan de M.
1
por favor tente com https. se estiver funcionando, depois de pouco tempo, será comhttp
Rohit Suthar 7/15
1
o truque https funcionou para mim de outra maneira. Eu tenho tudo certo e a página de configuração disse que o site é publicado, me deu o URL certo. No entanto, continuo dando 404. Alterei o URL para http, funcionou, e https também funcionou. Parece que o site http precisa ser acessado para "ativá-lo" primeiro.
dracodoc
2
Para mim, começou a funcionar após 10-20 minutos. Isso leva tempo. Então seja paciente.
MechaCode 25/09

Respostas:

181

Eu tinha apenas um commit com todos os meus arquivos. Enviei um commit vazio, atualizei a página e funcionou.

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

Se isso não funcionar, como o @Hendrikto apontou nos comentários, consulte a página de status do Github e verifique se as páginas do GitHub estão operacionais.

Nycen
fonte
2
Eu estava usando o pacote npm angular-cli-ghpages e o que fiz foi adicionar um espaço ao meu arquivo index.html, executar novamente o comando "npx ngh", que levou um novo commit a mim, obtendo os mesmos resultados gloriosos. Obrigado, isso me deixou perplexo e sua resposta me inspirou a fazer isso.
Patrick Graham
se você não quiser usar a linha de comando, basta editar o diretório README.md na interface da web.
Christophe Le Besnerais
2
Também pode ser um problema com o próprio Github. Esta página informa o status do Github. Eu tive o mesmo problema e nenhuma correção funcionou. A página de status dizia "desempenho degradado" e eu apenas tive que esperar que os servidores estivessem totalmente funcionais novamente.
Hendrikto 12/03/19
Bom ponto @Hendrikto, adicionei uma referência ao seu comentário na resposta.
Nycen 11/01
77

No meu caso, eu tinha pastas cujos nomes começavam com _(como _csse _js), que o GH Pages ignora conforme as regras de processamento do Jekyll. Se você não usar o Jekyll, a solução alternativa é colocar um arquivo nomeado .nojekyllno diretório raiz.

Supuhstar
fonte
4
.nojekyll é uma necessidade, se você não está usando Jekyll, docs aqui: github.com/blog/572-bypassing-jekyll-on-github-pages
Claudiu Constantin
2
Obrigado por isso, eu ter enviado github e pediu-lhes para atualizar seu guia no pages.github.com (que não menciona o arquivo .nojekyll)
sunyata
1
Obrigado! Foi necessário para o aplicativo Vue, pena que não é mencionado no guia de implantação do vue-cli.
Ondřej Ševčík
isso corrigiu para mim. Meu site de usuário estava originalmente trabalhando sem ele, mas parou de funcionar. Você pode adicionar um arquivo online e enviá-lo também. Eu fiz isso, atualizado e funcionou instantaneamente.
bot19
@Supuhstar thanks bro. você salva minha vida)
voronovam 22/06
72

Eu fiz todos os truques aqui no My Fork para corrigir a página 404 na página do Github, mas ela continuava 404'ing.

Por fim, constatou que meu navegador dificilmente mantém o cache de 10 minutos antes da instalação na web.

Basta adicionar /index.htmlno final do URL, em seguida, ele apareceu e resolveu o caso.

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

Chetabahana
fonte
1
Isso funcionou para mim. Criei o site seguindo as instruções na página principal das páginas do GitHub, então é meio decepcionante que ele não funcione imediatamente.
CGK
1
Obrigado! Eu tive o mesmo problema. É estranho que tenhamos que adicionar /index.html.
Raja Rao
1
Limpei um cache suave, mas não funcionou, mas a adição de /index.html funcionou. Obrigado
Prince Tegaton
1
Também funcionou para mim, mas isso nunca aconteceu comigo antes, atualmente, tenho várias páginas em execução em username.github.io e username.github.io/ < additional-page > e nunca precisei acrescentar um index.html
Sanchit Batra
Eu tive que abrir o console de desenvolvimento e forçar index.html no URL. Obrigado o /
heavyrick
50

Há quatro meses, entrei em contato com o suporte e eles me disseram que era um problema do lado deles, eles o corrigiram temporariamente (para o commit atual).

Hoje eu tentei novamente

  1. Eu apaguei o ramo gh-pages no github

    git push origin --delete gh-pages

  2. Eu apaguei o ramo gh-pages no local

    git branch -D gh-pages

  3. Eu reinicializei o git

    git init

  4. Recriei a filial no local

    git branch gh-pages

  5. Empurrei o ramo gh-pages para o github

    git push origin gh-pages

Funciona bem, finalmente posso atualizar meus arquivos na página.

Jonathan de M.
fonte
31
Aparentemente, você nem precisa excluir sua filial local. Apenas git checkout gh-pages ; git push origin --delete gh-pages ; git push origine pronto.
interestinglythere
4
Excluir o ramo remoto e empurrar o meu novamente resolveu o problema. Página ficou visível após um minuto.
Kulbi
Eu acho que é suposto ser um "órfão" branch
wayofthefuture
Só tive que excluir o ramo de origem ("gh-pages") e refazer tudo. Trabalhou para mim!
wle8300
34

Se você ainda não o fez, escolha um tema Jekyll na guia Configurações do GitHub Pages. Aparentemente, isso é necessário mesmo se você não estiver usando o Jekyll no site do Pages.

Captura de tela das configurações do GitHub

Chris
fonte
8
Eu estava obtendo o 404 Not Found e tendo tentado todas as dezoito outras soluções sugeridas nas respostas aqui, documentei minhas tentativas em uma pergunta duplicada: HTML muito simples resultando em 404 Not Found in GitHub Pages . A 19ª resposta de Chris foi a que a corrigiu para mim. O GitHub Pages é um ótimo serviço, é uma pena que a documentação seja tão ruim.
dumbledad
3
Apenas escolher um esquema ainda não é suficiente, você também precisa criar um novo commit no gh-pagesramo para acionar uma atualização depois!
sschuberth
20

Eu tive o mesmo problema depois de fazer um repo com uma gh-pagesfilial. Consegui consertar simplesmente enviando um novo commit (apenas espaço em branco index.html) para o gh-pagesramo do meu fork .

Argila
fonte
Coloquei um espaço em branco em "index.html", confirmei e enviei alterações. Nada aconteceu. Removido o espaço em branco do nome do arquivo, confirmado e enviado as alterações novamente e funcionou! Obrigado.
Nahiyan
observe também que as páginas do github usam uma pequena janela de cache (10 minutos no momento da escrita Cache-Control:max-age=600:). portanto, você também pode ter que aguardar nessa janela de cache para expirar ou forçar a atualização do navegador.
Clay
1
Por que mexer com o espaço em branco? Basta enviar um commit vazio com --allow-empty.
Hendrikto 5/02
18

No meu caso em 8 / ago / 2017

  1. se sua página de usuário for https://github.com/mgravell , o nome do repositório deverá ser mgravell.github.io
  2. sob raiz, crie um arquivo index.html

  3. sob raiz, crie uma pasta docs, crie um arquivo CNAMEem docs(nota: SEM extensão como .txt, verifique se o sistema de arquivos mostra a extensão)

  4. gh-pagesbranch é opcional, masterbranch é suficiente

mais : consulte os documentos oficiais aqui: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/

Eterno
fonte
1
Sim! Adicionar uma pasta de documentos vazia e um arquivo CNAME vazio (sem extensão), fez o truque !!
11553 Jose A
CNAME ausente aqui também :)
Frexuz 7/11
O arquivo CNAME deve estar vazio? Se não, o que deveria estar nele?
dumbledad
@dumbledad arquivo vazio vai ficar bem
Timeless
15

Apenas espere cerca de dez minutos a uma hora. Se ainda assim não funcionar, entre em contato com o github. Normalmente, esse é o problema deles. Mas, se você estiver com pressa, tente abrir adicionando "?" ponto de interrogação no final do URL. Força a consulta a procurar o recurso. Como isso:

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

Rivalus
fonte
14

Minhas páginas também mantinham 404'ing. Entraram em contato com o suporte e apontaram que o URL diferencia maiúsculas de minúsculas; resolveu meu problema.

JefClaes
fonte
2
Eu já tentei tanto, com e sem capital, antes de contactar o suporte
Jonathan de M.
3

Se você tem certeza de que sua estrutura está correta, basta enviar um commit vazio ou atualizar o arquivo index.html com algum espaço, funciona!

Iman Dastbelaraki
fonte
3

Adicione o seguinte no início do arquivo index.html

<!DOCTYPE html>
Anirban Mukherjee
fonte
2

no meu caso, eu tive que ir para as configurações do projeto e ativar as páginas do github. O padrão está desativado

João Nunes
fonte
2

No meu caso, todas as sugestões acima estavam corretas. Eu tinha a maioria das páginas funcionando, exceto algumas que estavam retornando 404, embora os arquivos de remarcação estejam lá e pareçam corretos. Aqui está o que foi corrigido para mim nessas páginas:

  • Em uma página, havia alguns caracteres especiais que não fazem parte UTF-8e acho que é por isso que as páginas do GitHub não foram capazes de renderizá-los. A atualização / remoção desses caracteres e o envio de um novo commit o corrigiram.
  • Em outra página, descobri que havia apóstrofos ao 'redor do título, removi-os e o conteúdo da página começou a aparecer bem
Possui AlTaiar
fonte
2

Eu tive esse problema exato com typedocs. O README.md funcionou, mas nenhum dos documentos reais gerados pelas minhas strings de documentos foi exibido, apenas obtive uma tela 404 Github Pages.

Para corrigir isso, basta colocar um arquivo vazio no diretório / docs (ou onde quer que você o gere) e chame-o .nojekyll

Para confirmar, sua estrutura de arquivos agora deve se parecer com:

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

Envie isso para o seu repositório remoto do Github e seus links etc. devem funcionar agora.

Verifique também se você selecionou nas configurações do Github:

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

Dependendo da estrutura do seu documento, você provavelmente precisará recriar esse arquivo sempre que atualizar seus documentos. Este é um exemplo de uso de typedocs e criação do arquivo .nojekyll sempre em um arquivo package.json:

# package.json

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

Liguei meu domínio antes que esse problema aparecesse. Eu cometi e empurrei o ramo gh-pages e resolveu o meu problema. O novo commit força o jekyll a recriar suas páginas.

strongwillow
fonte
1

No meu caso, o URL era bastante longo. Então, acho que há um limite. Coloquei-o no meu subdomínio personalizado e funcionou.

Ahmad Awais
fonte
1

Se você viu 404, mesmo tudo parece correto, tente alternar https / http.

A pergunta original está com o URL errado. Geralmente, você pode verificar as configurações do repositório e encontrar o URL correto para o site gerado.

No entanto, eu tenho tudo configurado corretamente, e a página de configuração disse que foi publicada, e ainda vi 404.

Obrigado pelo comentário de @Rohit Suthar (embora esse comentário fosse usar https), mudei o URL para http e funcionou, depois https também funcionou.

dracodoc
fonte
1

Em um repositório particular, quando adicionei e enviei minha ramificação gh-pages pela primeira vez para o github, as configurações das páginas github foram alteradas automaticamente para indicar que a ramificação gh-pages seria publicada, mas não havia barra verde ou azul no github.io URL e nenhuma opção de domínio personalizado.

Foi só quando eu mudei a fonte para mestre e rapidamente mudei a fonte de volta para as páginas gh que ele realmente atualizou com a barra verde que contém o URL publicado.

chrismarx
fonte
1
Isso ajuda. Meu projeto foi privado no início e nesse estado eu enviei o projeto para as páginas do Github e recebo 404 (ofc). Depois de mudar de gh-pagespara mastere depois voltar masterpara gh-pagestudo, tudo estava bem e o aplicativo começou a funcionar.
Zrna 8/06
1

Outra variante desse erro:

Eu configurei minha primeira página Github depois de um tutorial, mas deu o arquivo readme.mda - da minha perspectiva - nome mais significativo: welcome.md.

Esse foi um erro fatal:

Usaremos o seu arquivo LEIA-ME como o índice do site se você não tiver um index.md(ou index.html), não diferente de quando você procurar um repositório no GitHub.

da publicação com páginas do GitHub, agora tão fácil quanto 1, 2, 3

Consegui acessar a página do meu site usando o published atlink especificado em Repository/ Settings/ GitHub Pagesseguido por welcome.htmlou mais curto welcome.

CarpeDiemKopi
fonte
1

Por alguma razão, a implantação das páginas do GitHub parou de funcionar hoje (2020-maio-05). Anteriormente, eu não tinha nenhum html, apenas arquivos md. Tentei criar um index.html e ele publicou a página imediatamente. Após a remoção do index.html, a publicação continua funcionando.

030
fonte
1

No meu caso em react foi necessário selecionar o ramo gh-pages:

insira a descrição da imagem aqui

Jöcker
fonte
0

Vá para a seção de configurações do seu repositório e escolha a ramificação principal na seção Origem e clique no botão Salvar depois de atualizar a página e você poderá ver o link da sua página !.

twenk11k
fonte
0

Também enfrentei esse problema (404) e a causa raiz foi o nome do meu arquivo INDEX.md. Eu estava desenvolvendo no Windows e meu site Jekyll local funcionou (já que o Windows trata os nomes de arquivos que não diferenciam maiúsculas de minúsculas por padrão). Quando enviado ao Github, não funcionou. Depois que renomeei o INDEX.mdpara index.md, as coisas funcionaram bem.

Parag Deuskar
fonte
0

Ainda outro cenário:

  • usando uma página da organização (não uma página do projeto) que possui um repositório chamado <orgname>.github.io
  • documentos de origem como marcação na masterramificação (asciidoc)
  • Travis CI puxando arquivos doc de origem mastere enviando arquivos html gerados para gh-pagesramificação

A gh-pagesramificação é atualizada com as páginas html geradas. A Environmentguia GitHub fornece o link para a página da organização. Clicar nele resulta em a 404.

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

As páginas de usuário e organização que possuem esse tipo de nome de repositório são publicadas apenas a partir da masterramificação

Se eu entendi direito, as páginas do GitHub não serão publicadas a partir da gh-pagesramificação, se você estiver criando um site Userou em Organizationvez de um Projectsite.

Renomeei meu repositório para torná-lo um Projectsite, em vez de Organizationsite, e a gh-pagesramificação foi publicada conforme o esperado.

Glenn
fonte
0

Eu tive o mesmo problema .. Problema muito estranho .. Meu HTML estava com espaço após o título

> <title>
> 
> <script>

Corrigido, após remover o espaço

> <title>
> <script>
Pastuh
fonte
0

Além disso, as páginas do GitHub atualmente não suportam o Git LFS . Dessa forma, se você tiver imagens (ou outros ativos binários) nas páginas do GitHub confirmadas com o Git LFS, o 404 não será encontrado para esses arquivos.

Isso será bastante comum para documentação gerada com Doxygen ou ferramenta similar.

A solução nesse caso é simplesmente não confirmar esses arquivos com o Git LFS.

faken
fonte
0

No meu caso, meu repositório era privado. Torne o repositório público e execute todas as etapas novamente.

Santosh Kadam
fonte
0

Eu também enfrentei esse problema, minhas páginas ficaram 404. E então adicionei README.md no meu repositório, e o 404 desapareceu.

Tri
fonte