Bagaimana cara memperbaiki HTTP 404 di Halaman Github?

166

Ini repositori GitHub saya di gh-pagescabang. Semuanya terlihat bagus, saya punya index.htmlfolder CSS, JS, dan gambar saya.

Tetapi ketika saya mengakses http://roine.github.com/p1 saya mendapatkan HTTP 404 tidak ditemukan.

Adakah penjelasan dan solusi?

Jonathan de M.
sumber
2
Saya berasumsi Anda mengikuti dokumentasi ? Sudahkah Anda mendapat email? - Dari 404: "Kami akan mengirimkan email kepada Anda ketika halaman Anda telah dibuat. Mungkin perlu waktu hingga sepuluh menit hingga halaman Anda tersedia."
David Cain
Saya mencoba halaman yang dibuat, dan itu berfungsi dengan baik. Kemudian saya harus menghapus cabang gh-halaman dan membangunnya kembali dengan html kustom saya. Saya menunggu sejak setidaknya satu jam sekarang
Jonathan de M.
1
silakan coba https. jika berhasil maka setelah beberapa waktu akan denganhttp
Rohit Suthar
1
Trik https bekerja untuk saya dengan cara lain. Saya memiliki segalanya dengan benar dan halaman pengaturan mengatakan situs tersebut diterbitkan, memberi saya url yang tepat. Namun tetap memberikan 404. Saya mengubah url ke http, itu berhasil, lalu https bekerja juga. Sepertinya situs http perlu diakses untuk "mengaktifkan" terlebih dahulu.
dracodoc
2
Bagi saya mulai bekerja setelah 10-20 menit. Itu butuh waktu. Jadi bersabarlah.
MechaCode

Jawaban:

182

Saya hanya punya satu komit dengan semua file saya. Saya mendorong komit kosong, menyegarkan halaman dan berhasil.

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

Jika ini tidak berhasil, seperti yang ditunjukkan @Hendrikto di komentar, periksa halaman status Github dan pastikan Halaman GitHub berfungsi .

Nycen
sumber
2
Saya menggunakan paket npm angular-cli-ghpages dan apa yang saya lakukan adalah menambahkan spasi ke file index.html saya, mengulang perintah "npx ngh" yang mendorong komit baru untuk saya mencapai hasil yang sama mulia. Terima kasih, ini membuat saya bingung dan jawaban Anda menginspirasi saya untuk melakukan ini.
Patrick Graham
jika Anda tidak ingin menggunakan baris perintah, Anda bisa mengedit direclty README.md Anda dari antarmuka web.
Christophe Le Besnerais
2
Mungkin juga ada masalah dengan Github itu sendiri. Halaman ini memberi tahu Anda status Github. Saya memiliki masalah yang sama, dan tidak ada perbaikan yang berhasil. Halaman status mengatakan "menurunkan kinerja", dan saya hanya harus menunggu server berfungsi penuh lagi.
Hendrikto
Poin bagus @Hendrikto, saya menambahkan referensi ke komentar Anda dalam jawabannya.
Nycen
77

Dalam kasus saya, saya memiliki folder yang namanya dimulai dengan _(seperti _cssdan _js), yang diabaikan oleh GH Pages sesuai aturan pemrosesan Jekyll. Jika Anda tidak menggunakan Jekyll, solusinya adalah menempatkan file yang bernama .nojekylldi direktori root.

Supuhstar
sumber
4
.nojekyll adalah suatu keharusan jika Anda tidak menggunakan Jekyll, dokumen di sini: github.com/blog/572-bypassing-jekyll-on-github-pages
Claudiu Constantin
2
Terima kasih untuk ini, saya telah mengirim email github dan meminta mereka untuk memperbarui panduan mereka di pages.github.com (yang tidak menyebutkan file .nojekyll)
sunyata
1
Terima kasih! Itu diperlukan untuk aplikasi Vue, sayang sekali tidak disebutkan dalam panduan penyebaran vue-cli.
Ondřej Ševčík
ini memperbaikinya untuk saya. Situs pengguna saya awalnya berfungsi tanpanya tetapi berhenti bekerja. Anda bisa menambahkan file secara online dan melakukannya juga di sana. Saya melakukan ini, segar dan langsung berhasil.
bot19
@Supuhstar, terima kasih kawan. kamu menyelamatkan hidupku)
voronovam
73

Saya melakukan semua trik di sini di Fork Saya untuk memperbaiki halaman 404 di Github Page tetapi tetap 404 ' .

Akhirnya menemukan bahwa browser saya hampir tidak menyimpan cache 10 menit sebelum di web.

Cukup tambahkan /index.htmlke akhir URL lalu muncul dan memecahkan kasus ini.

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

Chetabahana
sumber
1
Ini berhasil untuk saya. Saya membuat situs ini mengikuti instruksi di halaman GitHub Pages utama sehingga agak mengecewakan karena tidak berfungsi dengan baik.
CGK
1
Terima kasih! Saya memiliki masalah yang sama. Ini aneh bahwa kita harus menambahkan /index.html.
Raja Rao
1
Saya melakukan soft cache yang jelas tetapi tidak berhasil tetapi menambahkan /index.html bekerja. Terima kasih
Pangeran Tegaton
1
Bekerja untuk saya juga, tetapi ini belum pernah terjadi pada saya sebelumnya, saya saat ini memiliki beberapa halaman berjalan di kedua username.github.io dan username.github.io/ < additional-page > dan tidak pernah perlu menambahkan index.html
Sanchit Batra
saya harus membuka konsol dev dan memaksa index.html di url. Terima kasih o
trik berat
51

Empat bulan lalu saya telah menghubungi dukungan dan mereka mengatakan itu adalah masalah di pihak mereka, mereka telah memperbaikinya untuk sementara (untuk komit saat ini).

Hari ini saya mencoba lagi

  1. Saya menghapus cabang gh-halaman di github

    git push origin --delete gh-pages

  2. Saya menghapus cabang gh-halaman di lokal

    git branch -D gh-pages

  3. Saya menginisialisasi ulang git

    git init

  4. Saya membuat ulang cabang di lokal

    git branch gh-pages

  5. Saya mendorong cabang halaman gh ke github

    git push origin gh-pages

Berfungsi dengan baik, saya akhirnya dapat memperbarui file saya di halaman.

Jonathan de M.
sumber
32
Tampaknya, Anda bahkan tidak perlu menghapus cabang lokal Anda. Hanya git checkout gh-pages ; git push origin --delete gh-pages ; git push origindan Anda sudah selesai.
interestinglythere
4
Menghapus cabang jarak jauh dan mendorong tambang lagi memecahkan masalah. Halaman terlihat setelah satu menit.
Kulbi
Saya pikir itu seharusnya menjadi cabang "yatim"
wayofthutureure
Hanya harus menghapus cabang asal ("gh-pages") dan melakukan kembali semuanya. Bekerja untukku!
wle8300
34

Jika Anda belum melakukannya, pilih tema Jekyll di tab pengaturan Halaman GitHub Anda. Tampaknya ini diperlukan bahkan jika Anda tidak menggunakan Jekyll untuk situs Halaman Anda.

Tangkapan layar pengaturan GitHub

Chris
sumber
8
Saya mendapatkan 404 Tidak Ditemukan dan telah mencoba kedelapan belas solusi lain yang disarankan dalam jawaban di sini, saya mendokumentasikan upaya saya dalam pertanyaan duplikat: HTML yang sangat sederhana menghasilkan 404 Tidak Ditemukan di Halaman GitHub . Jawaban ke-19 Chris adalah jawaban yang tepat untuk saya. GitHub Pages adalah layanan yang hebat, sangat disayangkan dokumentasinya sangat buruk.
Dumbledad
3
Hanya memilih skema masih tidak cukup, Anda juga perlu membuat komit baru di gh-pagescabang untuk memicu pembaruan sesudahnya!
sschuberth
20

Saya memiliki masalah yang sama setelah mengayun repo dengan gh-pagescabang. Saya dapat memperbaikinya dengan hanya mendorong komit baru (hanya spasi putih index.html) ke gh-pagescabang garpu saya .

Tanah liat
sumber
Saya menempatkan spasi putih di "index.html", berkomitmen dan mendorong perubahan. Tidak ada yang terjadi. Ruang putih dihapus dari nama file, berkomitmen dan mendorong perubahan lagi dan berhasil! Terima kasih.
Nahiyan
juga perhatikan bahwa halaman github menggunakan jendela caching kecil (10 menit pada saat penulisan:) Cache-Control:max-age=600. jadi Anda mungkin juga harus menunggu di jendela cache untuk kedaluwarsa atau memaksa menyegarkan browser Anda.
Clay
1
Mengapa mengacaukan ruang putih? Hanya mendorong komit kosong dengan --allow-empty.
Hendrikto
18

Dalam kasus saya pada 8 Agustus / 2017

  1. jika halaman pengguna Anda adalah https://github.com/mgravell , nama repo Anda harus mgravell.github.io
  2. di bawah root, buat file index.html

  3. di bawah root, buat folder docs, buat file di CNAMEbawah docs(catatan: TIDAK ada ekstensi seperti .txt, pastikan sistem file Anda menunjukkan ekstensi)

  4. gh-pagescabang adalah opsional, mastercabang cukup

lebih lanjut : lihat dokumen resmi di sini: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/

Abadi
sumber
1
Itu benar! Menambahkan folder dokumen kosong dan file CNAME kosong (tanpa ekstensi), lakukan caranya !!
Jose A
CNAME hilang di sini juga :)
Frexuz
Haruskah file CNAME kosong? Jika tidak apa yang seharusnya ada di dalamnya?
dumbledad
@dumbledad file kosong akan baik
Timeless
15

Tunggu saja sekitar sepuluh menit hingga satu jam. Jika masih tidak berhasil, hubungi github. Biasanya itu masalah pada akhirnya. Tetapi, jika Anda terburu-buru, Anda dapat mencoba membuka dengan menambahkan "?" tanda tanya di akhir URL. Itu memaksa permintaan untuk mencari sumber. Seperti ini:

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

Rivalus
sumber
14

Halaman saya juga terus ditampilkan. Menghubungi dukungan, dan mereka menunjukkan bahwa url peka terhadap huruf besar-kecil; memecahkan masalah saya.

JefClaes
sumber
2
Saya sudah mencoba keduanya, dengan dan tanpa modal, sebelum menghubungi dukungan
Jonathan de M.
3

Jika Anda yakin struktur Anda benar, cukup tekan komit kosong atau perbarui file index.html dengan beberapa ruang, itu berfungsi!

Iman Dastbelaraki
sumber
3

Tambahkan berikut ini di awal file index.html

<!DOCTYPE html>
Anirban Mukherjee
sumber
2

dalam kasus saya, saya harus pergi ke pengaturan proyek dan mengaktifkan halaman github. Standarnya tidak aktif

João Nunes
sumber
2

Dalam kasus saya, semua saran di atas benar. Saya memiliki sebagian besar halaman berfungsi kecuali beberapa yang mengembalikan 404 meskipun file penurunan harga ada di sana dan mereka tampaknya benar. Inilah yang diperbaiki untuk saya di halaman ini:

  • Pada satu halaman, ada beberapa karakter khusus yang bukan bagian dari itu UTF-8dan saya pikir itu sebabnya halaman GitHub tidak dapat membuat mereka. Memperbarui / menghapus char ini dan mendorong commit baru memperbaikinya.
  • Di halaman lain, saya menemukan bahwa ada tanda kutip di 'sekitar judul, saya menghapusnya dan konten halaman mulai menunjukkan baik-baik saja
Memiliki AlTaiar
sumber
2

Saya punya masalah ini dengan typedocs. README.md bekerja tetapi tidak ada dokumen aktual yang dihasilkan oleh string dokumen saya yang ditampilkan, saya baru saja mendapatkan layar 404 Halaman Github.

Untuk memperbaikinya, cukup tempatkan file kosong di direktori / docs Anda (atau di mana pun Anda menghasilkan dokumen Anda) & sebut saja .nojekyll

Untuk mengonfirmasi, struktur file Anda sekarang akan terlihat seperti:

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

Dorong ini ke repo Github jarak jauh Anda dan tautan Anda, dll. Akan berfungsi sekarang.

Pastikan juga Anda telah memilih di pengaturan Github Anda:

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

Bergantung pada kerangka kerja doc Anda, Anda mungkin harus membuat ulang file ini setiap kali Anda memperbarui dokumen Anda, ini adalah contoh menggunakan typedocs & membuat file .nojekyll setiap kali dalam file package.json:

# package.json

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

Saya mengikat domain saya sebelum masalah ini muncul. Saya berkomitmen dan mendorong halaman gh cabang dan itu memecahkan masalah saya. Komit baru memaksa jekyll untuk membangun kembali halaman Anda.

strongwillow
sumber
1

Dalam kasus saya, URL-nya cukup panjang. Jadi, saya kira ada batasannya. Saya memasukkannya ke subdomain khusus saya dan berhasil.

Ahmad Awais
sumber
1

Jika Anda melihat 404 bahkan semuanya tampak benar, coba alihkan https / http.

Pertanyaan aslinya memiliki url yang salah, biasanya Anda dapat memeriksa pengaturan repo dan menemukan url yang benar untuk situs yang dihasilkan.

Namun saya sudah mengatur semuanya dengan benar, dan halaman pengaturan mengatakan itu diterbitkan, maka saya masih melihat 404.

Terima kasih atas komentar @Rohit Suthar (meskipun komentar itu menggunakan https), saya mengubah url menjadi http dan berfungsi, lalu https berfungsi juga.

dracodoc
sumber
1

Pada repo pribadi, ketika saya pertama kali menambahkan dan mendorong cabang halaman gh saya ke github, pengaturan untuk halaman github secara otomatis berubah untuk menunjukkan bahwa cabang halaman gh akan diterbitkan, tetapi tidak ada bilah hijau atau biru dengan github.io url dan tidak ada opsi domain khusus.

Tidak sampai saya beralih sumber ke master dan dengan cepat beralih sumber kembali ke halaman gh yang benar-benar diperbarui dengan bilah hijau yang berisi url yang diterbitkan.

chrismarx
sumber
1
Ini membantu. Proyek saya pribadi pada awalnya dan dalam keadaan itu saya mendorong proyek ke halaman Github dan saya mendapatkan 404 (ofc). Setelah beralih dari gh-pageske master, dan kemudian kembali dari masterke gh-pagessemuanya baik-baik saja dan aplikasi mulai bekerja.
Zrna
1

Varian lain dari kesalahan ini:

Aku mengatur halaman Github pertama saya setelah tutorial tetapi memberi file readme.md- dari perspektif saya - nama yang lebih bermakna: welcome.md.

Itu adalah kesalahan fatal:

Kami akan menggunakan file README Anda sebagai indeks situs jika Anda tidak memiliki index.md(atau index.html), tidak berbeda dengan ketika Anda menjelajah ke repositori di GitHub.

dari Penerbitan dengan Halaman GitHub, sekarang semudah 1, 2, 3

Saya kemudian dapat mengakses halaman situs web saya menggunakan published attautan yang ditentukan di bawah Repository/ Settings/ GitHub Pagesdiikuti oleh welcome.htmlatau lebih pendek welcome.

CarpeDiemKopi
sumber
1

Untuk beberapa alasan, penyebaran halaman GitHub berhenti bekerja hari ini (2020-Mei-05). Sebelumnya saya tidak punya html, hanya file md. Saya mencoba membuat index.html dan segera menerbitkan halaman itu. Setelah penghapusan index.html, publikasi tetap berfungsi.

030
sumber
1

Dalam kasus saya sebagai reaksi diperlukan untuk memilih cabang gh-halaman:

masukkan deskripsi gambar di sini

Jöcker
sumber
0

Pergi ke bagian pengaturan repositori Anda dan pilih cabang master di bagian Sumber dan klik tombol simpan setelah itu menyegarkan halaman dan Anda akan dapat melihat tautan halaman Anda !.

twenk11k
sumber
0

Saya menghadapi masalah ini (404) juga dan akar penyebabnya adalah file saya dinamai INDEX.md. Saya sedang mengembangkan pada Windows dan situs Jekyll lokal saya berfungsi (karena Windows memperlakukan case nama file tidak sensitif secara default). Ketika didorong ke Github, itu tidak berhasil. Setelah saya ganti namanya INDEX.mdmenjadi index.md, semuanya bekerja dengan baik.

Parag Deuskar
sumber
0

Skenario lain:

  • menggunakan Halaman Organisasi (bukan halaman Proyek) yang memiliki repositori bernama <orgname>.github.io
  • sumber dokumen sebagai markup di mastercabang (asciidoc)
  • Travis CI menarik file dokumen sumber dari masterdan mendorong file html yang dihasilkan ke gh-pagescabang

The gh-pagescabang diperbarui dengan halaman html yang dihasilkan. EnvironmentTab GitHub menyediakan tautan ke halaman organisasi. Mengkliknya menghasilkan a 404.

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

Pengguna dan Organisasi Halaman yang memiliki jenis repositori jenis ini hanya diterbitkan dari mastercabang

Jika saya memahami hal ini dengan benar, Halaman GitHub tidak akan dipublikasikan dari gh-pagescabang jika Anda membuat suatu Useratau Organizationsitus daripada sebuah Projectsitus.

Saya mengganti repo saya untuk menjadikannya Projectsitus daripada Organizationsitus dan kemudian gh-pagescabang diterbitkan seperti yang diharapkan.

Glenn
sumber
0

Saya memiliki masalah yang sama .. Masalah yang sangat aneh .. HTML saya adalah dengan spasi setelah judul

> <title>
> 
> <script>

Diperbaiki, setelah mengeluarkan ruang

> <title>
> <script>
Pastuh
sumber
0

Selain itu, halaman GitHub saat ini tidak mendukung Git LFS . Dengan demikian, jika Anda memiliki gambar (atau aset biner lainnya) di halaman GitHub yang dikomit dengan Git LFS, Anda akan mendapatkan 404 yang tidak ditemukan untuk file-file itu.

Ini akan sangat umum untuk dokumentasi yang dihasilkan dengan Doxygen atau alat serupa.

Solusi dalam hal ini adalah tidak melakukan file-file tersebut dengan Git LFS.

salah
sumber
0

Dalam kasus saya, repositori saya bersifat pribadi. Jadikan repositori menjadi publik dan ulangi semua langkah lagi.

Santosh Kadam
sumber
0

Saya juga menghadapi masalah ini, halaman saya mendapatkan 404. Dan kemudian saya menambahkan README.md di repositori saya, dan 404 hilang.

Tri
sumber