If you’re encountering some oddities in the API, here’s a list of resolutions to
some of the problems you may be experiencing.
400 error for an unsupported API version
You should use the X-GitHub-Api-Version header to specify an API version. For example:
$ curl --header "X-GitHub-Api-Version:2022-11-28" https://api.github.com/zen
If you specify a version that does not exist, you will receive a 400 error.
For more information, see «API Versions.»
404 error for an existing repository
Typically, we send a 404 error when your client isn’t properly authenticated.
You might expect to see a 403 Forbidden in these cases. However, since we don’t
want to provide any information about private repositories, the API returns a
404 error instead.
To troubleshoot, ensure you’re authenticating correctly, your OAuth access token has the required scopes, third-party application restrictions are not blocking access, and that the token has not expired or been revoked.
Not all results returned
Most API calls accessing a list of resources (e.g., users, issues, etc.) support
pagination. If you’re making requests and receiving an incomplete set of results, you’re
probably only seeing the first page. You’ll need to request the remaining pages
in order to get more results.
It’s important to not try and guess the format of the pagination URL. Not every
API call uses the same structure. Instead, extract the pagination information from
the link header, which is returned with every request. For more information about pagination, see «Using pagination in the REST API.»
Basic authentication errors
On November 13, 2020 username and password authentication to the REST API and the OAuth Authorizations API were deprecated and no longer work.
Using username/password for basic authentication
If you’re using username and password for API calls, then they are no longer able to authenticate. For example:
curl -u my_user:my_password https://api.github.com/user/repos
Instead, use a personal access token when testing endpoints or doing local development:
curl -H 'Authorization: Bearer my_access_token' https://api.github.com/user/repos
For OAuth Apps, you should use the web application flow to generate an OAuth token to use in the API call’s header:
curl -H 'Authorization: Bearer my-oauth-token' https://api.github.com/user/repos
Timeouts
If GitHub takes more than 10 seconds to process an API request, GitHub will terminate the request and you will receive a timeout response.
Если вы получили 404 Page not Found
Когда вы публикуете свой сайт на GitHub Pages, то GitHub даёт вам ссылку вида https://USERNAME.github.io/REPONAME, где USERNAME — ваш ник на GitHub, а REPONAME — название репозитория на GitHub, куда вы залили свой сайт.
Это ссылка только на сам репозиторий, в котором много файлов и GitHub не знает, какой из них нужно показать. Если бы в репозитории в корне лежал файл index.html, то GitHub бы догадался и этот файл открылся бы по ссылке https://USERNAME.github.io/REPONAME. Но если ваш index.html где-то спрятан, например, в папке pages/ — Гитхабу нужно явно показать, где искать нужный .html файл: https://USERNAME.github.io/REPONAME/pages/index.html
index.html — это особое название для файла и GitHub Pages догадается показать его, даже если в ссылке его не указать: https://USERNAME.github.io/REPONAME/pages.
GitHub обновляет сайт раз в 10 минут
Ответ об этом на SO. Если вы допустили какую-то ошибку и что-то поправили в файлах — придётся ждать целых 10 минут, чтобы подгрузилась исправленная версия
После каждого изменения в коде сайта ждите минимум 10 минут, прежде чем заходить на сайт и тестировать эти изменения. А лучше всего всё делать на своём компьютере и заливать на GitHub Pages уже готовую версию.
Если ссылки на сайте не открываются
Вам поможет статья про относительный адрес. Делайте ссылки относительными, а не абсолютными, чтобы сайту было всё равно где он хостится: хоть на 127.0.0.1, хоть на GitHub Pages. Если всё равно ошибка — и не получается написать правильный путь до файла — вот статья как это чинить
Попробуйте бесплатные уроки по Python
Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.
Переходите на страницу учебных модулей «Девмана» и выбирайте тему.
In this article, I’ll be showing you how to create a custom error 404 page in GitHub Pages, a static site hosting service that allows you to publish and host your web pages through GitHub.
To break that down quickly: a static site is a website made up entirely of HTML, CSS, and JavaScript files. Everything the site needs to render is contained within these files, so there’s no need for server technology like PHP, Node.js, or Python. If the static site needs extra data from a server, it makes an asynchronous HTTP request with tools like fetch api or axios. And you’ll probably want to make sure that static site has a 404 page.
Displaying a 404 error page on your site is sort of like delivering bad news—the tone and manner of your delivery can determine if the person receiving the news will either be upset or be ready to agreeably look for another solution. Fortunately, GitHub Pages makes creating one a walk in the park.
How Does GitHub Pages Work?
Hosting your site on GitHub Pages is as easy as signing into GitHub and creating a new repository.
Your repo name should have the following format: <your github username>.github.io.
Add files to your repo. You can do this either by creating the files locally and pushing to remote or by creating the files directly on GitHub.
Go to the Settings tab of your newly created repository.
Scroll down to the GitHub Pages section.
Here, you can choose the branch you want to serve your pages from, the root directory, and even select a Jekyll theme. If you already have a custom domain name, you can add it here.
By adding a custom domain name, you can access your site using yourdomainname instead of your github.io domain.
That’s all! Your site is now ready to be published. Visit <your github username>.github.io to see your new website.
You can make changes to your site whenever you choose. They become available immediately after you push/merge to the branch you’ve chosen to serve your pages from.
Using GitHub Pages for your static site gives you some nice benefits:
- GitHub Pages is free to use. No coughing up extra cash just to host some basic web pages.
- You can use it to host websites like single-page applications or blogs.
- You can add a custom domain name to your site.
- You can enable HTTPS for your domain in just one click.
- You get the added advantage of managing your site with Git. Version-controlling your website becomes a piece of cake.
Why Is a 404 Page Important?
The 404 page is a famously dreaded sight across the internet. It’s a page that neither website users nor owners like to see, but it’s an unavoidable one. Its purpose is to inform a user that the page they’re looking for doesn’t exist.
Think about it: it isn’t every time you go into a store that you find everything you’re looking for. Certain items may be sold out or perhaps the store never sold them to begin with. That’s exactly what happens on the web. Perhaps the page’s URL changed, breaking an old link, or maybe the page was removed altogether. A user could have manually input the wrong URL to begin with. However a user has arrived at a particular URL, the requested web page doesn’t exist.
Specifically, 404 is an HTTP status code for a “Resource Not Found” or simply “Not Found” error. It applies to all kinds of resources on the web, including HTML files, CSS files, JavaScript files, documents, images, and just about any other file that could be requested from a server.
How you as the webmaster choose to convey a 404 error is very important. It can either improve your user’s experience on your site or make it worse.
What Makes a Good 404 Page?
At the end of the day, what’s on your 404 page is up to you, but I can give you a few tips to make it as palatable as possible for your users:
- First and foremost, a 404 page should return with an actual 404 HTTP status code. This is important so web crawlers like Google’s bot don’t incorrectly index an erroneous page as a valid page, as this can negatively impact your SEO.
- The 404 page should make it clear to the user that there’s a problem. This can be achieved by making the 404 or Not Found message prominent on the page.
- The page should offer a way out to the user. Unless you want the user stuck on your error page or want them to close your site immediately, your 404 page should provide them with a means to navigate away from the page. Add an obvious link to your site’s homepage to somewhere on the error page, or you can suggest links to pages that might be similar to what the user was looking for in the first place.
- You can provide a way for users to report a broken page, enabling you to quickly fix any issues.
- Add a search bar for users to find other things they might be looking for.
- Make the design pleasing to the eye. A 404 page is still a part of your website, so you should put as much thought into its design as you have for other valid pages. The page should carry elements of your brand, and not look like a desert island.
GitHub’s very own 404 page is a good example of what a 404 page should look like. The error code and message are both prominent on the page, and there’s a search bar to help you find other content.
If you don’t add a custom 404 page to your GitHub Pages site, then by default GitHub displays the following 404 page:
Not bad, eh? But not good enough for your brand.
How to Create a Custom 404 Page in GitHub Pages
Fortunately, GitHub also understands the importance of a 404 error page, and provides developers an easy way to add one to their GitHub-hosted pages. Let’s look at how you can add your own custom 404 page.
Create a new file in the root of your repository and name it 404.html.
Then go on to add content for the 404 page as follows:
<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Page Not Found</title><linkrel="preconnect"href="https://fonts.gstatic.com"><linkhref="https://fonts.googleapis.com/css2?family=Chango&family=Roboto:[email protected]&display=swap"rel="stylesheet"><style> body{background-image:url("https://images.unsplash.com/photo-1616235132417-99f443954d2e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=334&q=80");background-size:cover;font-family:'Roboto','sans-serif';} main{display:flex;height:100vh;justify-content:center;align-items:center;flex-direction:column;} .header404{font-family:'Chango',cursive;font-size:48px;} .content404{text-align:center;}</style></head><body><main><h4class="header404">404</h4><divclass="content-404"> Uh-oh! We couldn't find the page you are looking for. </div><p><ahref="/">Check our home page</a></p></main></body></html>
Enter fullscreen mode
Exit fullscreen mode
Commit your changes, then try to visit a page that doesn’t exist on your site, eg,username.github.io/a-random-page-that-doesn't exist. A page like this should appear:
Conclusion
Hopefully, this article has shed some light on the importance of a 404 page and why you should put some effort into branding it as you would other pages of your website. When properly done, a 404 error page can be a good way to increase your website’s conversion rate.
Unlike many other host servers where you have to tinker with .htaccess or other kinds of configuration settings to handle 404 error pages, GitHub Pages makes it incredibly easy. All you need to do is add a single file, and you’re good to go.
If you’re stuck for ideas on what your 404 error page can look like, you can always look around for some 404 inspiration.
By Sodeeq Elusoji
На чтение 27 мин. Просмотров 454 Опубликовано 12.03.2021
Вот мой репозиторий GitHub в ветке gh-pages . Все выглядит хорошо, у меня есть мой index.html , мои CSS, JS и папки с изображениями.
Но когда я перехожу на http://roine.github.com/p1, я получаю HTTP 404 not found.
Какие-нибудь объяснения и решения?
У меня была только одна фиксация со всеми моими файлы. Я нажал пустую фиксацию, обновил страницу, и она сработала.
git commit --allow-empty -m "Trigger rebuild" git push
Если это не сработает, как @Hendrikto указал в комментариях, проверьте страницу статуса Github и убедитесь, что страницы GitHub работают.
отредактировано 11 января ’20 в 12:41
ответил 27 августа ’17, 17:51

-
Я использовал пакет npm angular-cli-ghpages, и что я сделал, так это добавил пробел в свой файл index.html, повторно запустив команду “npx ngh “что подтолкнуло меня к новой фиксации, достигающей тех же великолепных результатов. Спасибо, это поставило меня в тупик, и ваш ответ вдохновил меня на это. – Патрик Грэм, 15 августа 2018, 19:41
-
, если вы не хотите использовать командную строку, вы можете просто отредактировать директорию README.md через веб-интерфейс. – Christophe Le Besnerais 21 фев., В 14:51
-
Это также может быть проблема с самим Github. Эта страница сообщает вам статус Github. У меня была та же проблема, и ничего не исправить. На странице состояния было написано «снижение производительности», и мне просто пришлось ждать, пока серверы снова станут полностью функциональными. – Хендрикто, 12 марта ’19, в 19:23
-
Хорошее замечание @Hendrikto, я добавил ссылку на ваш комментарий в ответ. – Арно, 11 янв. ’20 в 12:41
-
К сожалению, у меня не сработало. – Azurespot, 7 января в 21:56
| показать 1 дополнительный комментарий
У меня была только одна фиксация со всеми моими файлами. Я нажал пустую фиксацию, обновил страницу, и она сработала.
git commit --allow-empty -m "Trigger rebuild" git push
Если это не сработает, как указал @Hendrikto в комментариях, проверьте страницу статуса Github и убедитесь, что страницы GitHub работают..
В моем случае у меня были папки чьи имена начинаются с _ (например, _css и _js ), которые GH Pages игнорирует в соответствии с правилами обработки Jekyll. Если вы не используете Jekyll, обходной путь – поместить файл с именем .nojekyll в корневой каталог. В противном случае вы можете удалить подчеркивания из этих папок
отредактировано 31 декабря ’20 в 21:48
ответил 25 сен 2016, 20:23

-
. nojekyll является обязательным, если вы вы не используете Jekyll, документы здесь: github.com/blog/572-bypassing-jekyll-on-github-pages – Клаудиу Константин 28 сен 2017, в 13:03
-
Спасибо за это, я написал github и попросил их обновить руководство на странице pages.github.com (в котором не упоминается файл .nojekyll) – sunyata 11 окт. 2017 в 16:58
-
Спасибо! Это было необходимо для приложения Vue, жаль, что это не упоминается в руководстве по развертыванию vue-cli. – Ондржей Шевчик, 28 июня ’19 в 17:20
-
это исправило для меня. Мой пользовательский сайт изначально работал без него, но перестал работать. Вы можете просто добавить файл в онлайн и зафиксировать его там же. Я сделал это, обновился, и он сразу заработал. – bot19 24 мая ’20 в 2:23
-
Спасибо. Работал как шарм! – Индерприт Сингх 03 авг., 20:47
добавить комментарий |
В моем случае у меня были папки, имена которых начинались с _ (например, _css и _js ), которые GH Pages игнорирует в соответствии с правилами обработки Jekyll. Если вы не используете Jekyll, обходной путь – поместить файл с именем .nojekyll в корневой каталог. В противном случае вы можете удалить подчеркивания из этих папок
Я проделал все уловки здесь, на My Fork , чтобы исправить страницу 404 на странице Github , но она продолжала повторять 404.
Наконец, обнаружено, что мой браузер с трудом сохраняет 10-минутный кеш , прежде чем он будет размещен в Интернете.
Просто добавьте /индекс. html в конец URL-адреса, затем он обнаружился и решил проблему.
https://username.github.io/index.html
отредактировано 28 февраля ’19 в 1:25
ответил 26 апр. ’18 в 3:31

-
Это сработало для меня. Я создал сайт, следуя инструкциям на главной странице GitHub Pages, поэтому разочаровывает то, что он не работает из коробки. – CGK 02 нояб., В 16:53
-
Спасибо! У меня такая же проблема. Странно, что нам приходится добавлять/index.html. – Раджа Рао 12 нояб., В 23:59
-
Я произвел мягкую очистку кеша, но это не сработало, но добавление/index.html сработало. Спасибо, принц Тегатон, 7 сен., В 22:01
-
У меня тоже сработало, но со мной такого никогда не случалось, в настоящее время у меня есть несколько страниц, работающих как на username.github.io, так и на username.github.io/, и никогда необходимо добавить index.html – Санчит Батра 10 мая ’20 в 17:26
-
Мне пришлось открыть консоль разработчика и принудительно указать index.html в URL-адресе. Спасибо, o/- Heavyrick 16 июл. ’20 в 18:30
добавить комментарий |
Я проделал все трюки здесь, на My Fork , чтобы исправить страницу 404 на Страница Github , но она продолжала работать с ошибкой 404.
Наконец-то выяснилось, что мой браузер с трудом хранит 10-минутный кеш , прежде чем он появится в Интернете.
Просто добавьте /index.html в конец URL-адреса, затем он обнаружился и решил проблему.
https://username.github .io/index.html
Четыре месяца назад я связался со службой поддержки, и они мне сказали была проблема на их стороне, они временно исправили ее (для текущего коммита).
Сегодня попробовал еще раз
-
Я удалил ветку gh-pages на github
git push origin --delete gh-pages -
Я удалил ветку gh-pages на локальном
git branch -D gh-pages -
Я повторно инициализировал git
git init -
Я воссоздал ветку на локальном
git ветка gh-pages -
Я отправил ветку gh-pages на github
git push origin gh-pages
Работает нормально, я наконец могу обновить свои файлы на странице.
Если вы еще этого не сделали, выберите тему Jekyll на вкладке настроек страниц GitHub. Очевидно, это необходимо, даже если вы не используете Jekyll на своем сайте Pages.

отредактировано 1 мая ‘ 19, 11:55
ответил 23 марта ’19 в 15:25

-
Я получал 404 Not Found и попробовал все восемнадцать других решений, предложенных в ответах здесь, я задокументировал мои попытки в повторяющемся вопросе: Очень простой HTML, приводящий к 404 Not Found на страницах GitHub. Девятнадцатый ответ Криса помог мне исправить это. GitHub Pages – отличный сервис, жаль, что документация такая плохая. – dumbledad 24 марта ’19, в 10:13
-
Недостаточно просто выбрать схему, вам также необходимо создать новую фиксацию в ветке
gh-pages, чтобы впоследствии запустить обновление! – sschuberth 30 сен. ’19 в 11:26
добавить комментарий |
Если вы еще этого не сделали, выберите тему Jekyll на вкладке настроек страниц GitHub. Очевидно, это необходимо, даже если вы не используете Jekyll на своем сайте Pages.

У меня была такая же проблема после разветвления репо с ветвь gh-pages . Мне удалось исправить это, просто нажав новую фиксацию (просто пробел в index.html ) в ветку gh-pages моей вилки..
-
Я положил пробел в “index.html”, изменения зафиксированы и отправлены. Ничего не произошло. Удалил пробелы из имени файла, зафиксировал и снова отправил изменения, и это сработало! Благодарю. – Нахиян, 15 мая ’17 в 17:31
-
также обратите внимание, что страницы github используют небольшое окно кеширования (10 минут на момент написания:
Cache-Control: max-age = 600). поэтому вам, возможно, придется подождать, пока истечет срок действия этого окна кеша, или принудительно обновить браузер. – Clay 27 июня ’17 в 18:29 -
Зачем возиться с пробелами? Просто нажмите пустую фиксацию с помощью
- allow-empty. – Хендрикто 5 фев. ’18 в 13:01
добавить комментарий |
У меня была такая же проблема после разветвления репо с веткой gh-pages . Я смог исправить это, просто нажав новую фиксацию (просто пробел в index.html ) в ветку gh-pages моей вилки.
Просто подождите от десяти минут до одного часа. Если по-прежнему не работает, обратитесь на github. Обычно проблема на их стороне. Но если вы торопитесь, вы можете попробовать открыть, добавив “?” знак вопроса в конце URL. Это заставляет запрос искать ресурс. Вот так:
http://roine.github.com/p1?
ответил 9 мая ’19 в 10:28

Просто подождите от десяти минут до одного часа. Если по-прежнему не работает, обратитесь на github. Обычно проблема в их стороне. Но если вы торопитесь, вы можете попробовать открыть, добавив “?” знак вопроса в конце URL. Это заставляет запрос искать ресурс. Вот так:
http://roine.github.com/p1?
В моем случае на
- если ваша пользовательская страница https://github.com/mgravell, ваше имя репо должно быть mgravell.github. io
-
под root, создайте файл
index.html -
в корневом каталоге, создайте папку
docs, создайте файлCNAMEвdocs(примечание: НЕТ расширения, такого как .txt, убедитесь, что ваша файловая система показывает расширение) -
gh-pagesветка необязательна, достаточноmasterветки
подробнее : проверьте официальную документацию здесь : https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/
отредактировано 18 апр. ’19 в 3:18
ответил 08 августа 2017 в 18:40
-
iv>
Должен ли файл CNAME быть пустым? Если нет, то что в нем должно быть? – dumbledad 23 марта ’19 в 13:02
-
Пустой файл @dumbledad подойдет – Timeless 23 мар. ’19 в 13:02
добавить комментарий |
В моем случае
- если ваша пользовательская страница https://github.com/mgravell, ваше имя репо должно быть mgravell.github.io
-
в корневом каталоге, создайте файл
index.html -
в корневом каталоге, создайте папку
docs, создайте файлCNAMEвdocs(обратите внимание: расширение NO , например .txt, убедитесь, что ваш файловая система показывает расширение) -
gh-pagesветка не является обязательной, ветвьmasterявляется достаточно
подробнее : проверьте официальную документацию здесь: https://help.github.com/articles/configuring-a- публикация-источник-для-github-страниц/
Мои страницы также продолжали набирать обороты. Обратился в службу поддержки, и они указали, что URL-адрес чувствителен к регистру; решил мою проблему.
-
Я уже пробовал и то, и другое, с заглавной буквой и без нее, прежде чем обратиться в службу поддержки – Джонатан де М. 01 нояб., 9:31
добавить комментарий |
Мои страницы также продолжали повторять 404. Обратился в службу поддержки, и они указали, что URL-адрес чувствителен к регистру; решил мою проблему.
в моем случае Мне пришлось зайти в настройки проекта и включить страницы github. По умолчанию выключено
ответил 09 сен. ’17 в 19:03
-
Это и выбор темы Jekyll (хотя я не хочу использовать Jekyll) – вот что исправило мою. Кроме того, у меня изначально было закрытое репо. Я думаю, что это не работает с Github Pages. – Azurespot, 7 января, 22:14
-
Работа частных репозиториев @Azurespot – Жоао Нуньес 2 дня назад
добавить комментарий |
в моем случае мне пришлось перейти в настройки проекта и включить страницы github. По умолчанию выключено
Если вы убедитесь, что ваша структура верна, просто нажмите пустой коммит или обновите файл index.html, добавив немного места, это работает!
ответил 17 окт., 12:54

Если вы уверены, что ваша структура верна, просто нажмите пустую фиксацию или обновите файл index.html с небольшим пространством, это работает !
Добавьте следующее в начало файл index.html
ответил 11 мая ’19 в 17:48

Добавьте следующее в начало индекса. html файл
Я заставил сайт работать, удалив папку “username.github.io” на моем компьютере, снова выполнив шаги, включая изменение индекса/html файл.
Моя ошибка ( я думаю ) в том, что я изначально клонировал “https://github.com/username/username.github.io .git “вместо https://github.com/username/username.github.io (без” .git “)
ответил 25 сен 2017 в 15:59

Я заставил сайт работать, удалив папку “username.github.io” на моем компьютере, снова выполнив шаги, включая изменение файл index/html.
Моя ошибка ( я думаю ) в том, что я изначально клонировал https://github.com/username/username.github. io .git “вместо https://github.com/username/username.github.io (без” .git “)
Если вы видели 404, даже если все выглядит правильно, попробуйте переключить https/http.
В исходном вопросе указан неправильный URL-адрес, обычно вы можете проверить настройки репо и найти правильный URL-адрес для сгенерированного сайта.
Однако у меня все установлено правильно, и на странице настроек сказано, что он опубликован, тогда я все еще видел 404.
Спасибо за комментарий @Rohit Suthar (хотя в этом комментарии использовался https), я изменил URL-адрес на http и это работает d, то https тоже работал.
ответил 19 янв. в 15:47

Если вы видели ошибку 404, даже если все выглядит правильно, попробуйте переключить https/http.
В исходном вопросе указан неправильный URL-адрес, обычно вы можете проверить настройки репо и найти правильный URL-адрес для сгенерированного сайта.
Однако у меня все настроено правильно, и на странице настроек указано он опубликован, затем я все еще видел 404.
Спасибо за комментарий @Rohit Suthar (хотя этот комментарий должен был использовать https), я изменил URL-адрес на http, и он работал, затем https тоже работал.
В моем случае все предложения выше были верны. У меня работало большинство страниц, за исключением нескольких, которые возвращали 404, хотя файлы уценки были там, и они казались правильными. Вот что исправило это для меня на этих страницах:
- На одной странице было несколько специальных символов, которые не являются частью
UTF-8, и я думаю, поэтому страницы GitHub не могли их отображать. Обновление/удаление этих символов и запуск новой фиксации исправили это. - На другой странице я обнаружил, что вокруг заголовка есть апострофы
', я удалил их, и содержимое страницы стало отображаться нормально
ответил 20 июля ‘ 18, 7:11

В моем случае все предложения выше были правильными. У меня работало большинство страниц, за исключением нескольких, которые возвращали 404, хотя файлы уценки были там, и они казались правильными. Вот что исправило это для меня на этих страницах:
- На одной странице было несколько специальных символов, которые не являются частью
UTF-8, и я думаю, поэтому страницы GitHub не могли их отображать. Обновление/удаление этих символов и запуск новой фиксации исправили это. - На другой странице я обнаружил, что вокруг заголовка есть апострофы
', я удалил их, и содержимое страницы стало отображаться нормально
У меня была именно такая проблема с typedocs. README.md работал, но ни один из фактических документов, сгенерированных моими строками документов, не отображался, я только что получил экран 404 Github Pages.
Чтобы исправить это, просто поместите пустой файл в каталог/docs (или где бы вы ни создавали свои документы) и назовите его .nojekyll
Чтобы убедиться, ваша файловая структура теперь должна выглядеть так:
./docs/.nojekyll # плюс все ваши сгенерированные документы
Отправьте это на удаленное репозиторий Github, и ваши ссылки и т. д. теперь должны работать.
Также убедитесь, что вы выбрали в настройках Github:
Настройки -> Github Pages -> Источник -> папка master brach/docs
В зависимости от вашей структуры документации вам, вероятно, придется воссоздавать этот файл каждый раз, когда вы обновляете свои документы, это пример использования typedocs и создания файла .nojekyll каждый раз в файле package.json. :
# пакет. json "scripts": {"typedoc": "typedoc --out docs src && touch docs/.nojekyll"},
отредактировано 25 апреля ’20 в 11:01
ответил 24 апр. 40

У меня была точно такая же проблема с typedocs. README.md работал, но ни один из фактических документов, созданных моими строками документов, не отображался, у меня только что появился экран 404 Github Pages.
Чтобы исправить это, просто поместите пустой файл в каталог/docs (или где бы вы ни создавали свои документы) и назовите его .nojekyll
Чтобы убедиться, ваша файловая структура теперь должна выглядеть так:
./docs/.nojekyll # плюс все ваши сгенерированные документы
Отправьте это на удаленное репозиторий Github, и ваши ссылки и т. д. теперь должны работать.
Также убедитесь, что вы выбрали в настройках Github:
Настройки -> Страницы Github -> Источник -> папка master brach/docs
В зависимости от вашей структуры документации вам, вероятно, придется воссоздавать этот файл каждый раз, когда вы обновляете свои документы, это пример использования typedocs и создания файла .nojekyll каждый раз в файле package.json. :
# package.json "scripts": {"typedoc": "typedoc --out docs src && touch docs/.nojekyll"},
По какой-то причине развертывание страниц GitHub перестало работать сегодня (05 мая 2020 г.). Раньше у меня не было никаких html, только md файлы. Я попытался создать index.html, и он сразу же опубликовал страницу. После удаления index.html публикация продолжает работать.
отредактировано 5 мая ’20 в 3:08
ответил 5 мая ’20 в 2:20

По какой-то причине развертывание страниц GitHub перестало работать сегодня (2020-май-05). Раньше у меня не было никаких html, только md файлы. Я попытался создать index.html, и он сразу же опубликовал страницу. После удаления index.html публикация продолжает работать.
В моем случае в реакции было необходимо для выбора ветки gh-pages:

ответил 21 мая ’20 в 10:04

В моем случае в react нужно было выбрать ветку gh-pages:

Я связал свой домен до появления этой проблемы. Я зафиксировал и нажал ветку gh-pages, и это решило мою проблему. Новые коммиты заставляют jekyll перестраивать ваши страницы.
отредактировано 21 июля ’13 в 13:33
Вики сообщества
2 версии
strongwillow
Я связал свой домен до появления этой проблемы. Я зафиксировал и нажал ветку gh-pages, и это решило мою проблему. Новые коммиты заставляют jekyll перестраивать ваши страницы.
В моем случае URL-адрес был довольно длинным. Итак, я думаю, есть предел. Я поместил его в свой собственный поддомен, и он сработал.
ответил 19 августа 2017, 20:41
В моем случае URL-адрес был довольно длинным. Итак, я думаю, есть предел. Я поместил его в свой собственный поддомен, и он сработал.
В частном репо, когда я впервые добавил и отправил свою ветку gh-pages в github, настройки для страниц github автоматически изменились, чтобы указать, что ветка gh-pages будет опубликована, но не было зеленой или синей полосы с URL-адрес github.io и без параметров пользовательского домена.
Только когда я переключил источник на master и быстро переключил источник обратно на gh-страницы, он фактически обновился зеленой полосой, содержащей опубликованный URL.
ответил 12 июня ’18, 23:00
-
Это помогает. Сначала мой проект был частным , и в этом состоянии я отправил проект на страницы Github и получил 404 (ofc). После переключения с
gh-страницнаmaster, а затем обратно сmasterнаgh-страницывсе было хорошо, и приложение начало работать. – zrna 08 июн. ’20 в 10:43
добавить комментарий |
В частном репо, когда я впервые добавил и отправил ветку gh-pages в github, настройки для страниц github автоматически изменились, чтобы указать что ветка gh-pages будет опубликована, но нет зеленой или синей полосы с URL-адресом github.io и параметров пользовательского домена.
Только когда я переключил источник на master и быстро переключил источник обратно на gh-страницы, он фактически обновился зеленой полосой, содержащей опубликованный URL.
Другой вариант этой ошибки:
Я создал свою первую страницу Github после учебника, но дал файлу readme.md – с моей точки зрения – более значимое имя: welcome.md .
Это была фатальная ошибка:
Мы будем использовать ваш файл README в качестве индекса сайта, если у вас нет
index.md(илиindex.html), что не отличается от того, когда вы просматриваете репозиторий на GitHub.
из публикации с помощью GitHub Pages, теперь так же просто, как 1, 2, 3
Затем я смог получить доступ к странице моего веб-сайта с помощью опубликовано по ссылке , указанной в разделе Репозиторий / Настройки / Страницы GitHub за которым следует welcome.html или короче welcome .
отредактировано 5 января ’20 в 10:59

Дима Паржицкий
3,27711 золотых знаков1717 серебряных знаков3535 бронзовых знаков
ответил 22 сен ’19 в 16:06
Другой вариант этой ошибки:
Я создал свою первую страницу Github после учебника, но дал файл readme.md a – с моей точки зрения – более значимое имя: welcome.md .
Это была фатальная ошибка:
Мы будем использовать ваш файл README в качестве индекса сайта, если у вас нет
index.md(илиindex.html), не отличается от того, когда вы просматриваете репозиторий на GitHub.
из публикации с помощью GitHub Страницы, теперь такие же простые, как 1, 2, 3
Затем я смог получить доступ к странице моего веб-сайта, используя , опубликованный на ссылка , указанная в разделе Репозиторий / Настройки / GitHub Pages , за которым следует welcome.html или короче welcome .
Я следил за этим видео YT. Итак, когда я запустил команду в своем терминале, он уже поместил код в ветку gh-pages . Затем я перешел в ветку master . Это давало мне ошибку 404.
Затем я поменял ветку на master , а затем снова вернулся к gh-pages и теперь ошибка исчезла. Он указывает на index.html , даже если его нет в URL.
ответил 13 октября ’20 в 14:30
Я слежу за этим видео YouTube. Итак, когда я запустил команду в своем терминале, он уже поместил код в ветку gh-pages . Затем я перешел в ветку master . Это давало мне ошибку 404.
Затем я поменял ветку на master , а затем снова вернулся к gh-pages и теперь ошибка исчезла. Он указывает на index.html , даже если его нет в URL.
В моем случае в браузере была предыдущая кешированная версия моего приложения. Чтобы избежать получения кешированной версии, обращайтесь к своему URL-адресу, используя случайную строку запроса:
https://{{your-username}} .github. io/{{ваш-репозиторий}}? randomquery
отредактировано 13 часов назад
ответил 13 января в 10:46
В моем случае в браузере была предыдущая кешированная версия моего приложения. Чтобы избежать получения кешированной версии, обращайтесь к своему URL с помощью случайной строки запроса:
https://{{your-username}} .github.io/{{your- репозиторий}}? randomquery
Перейдите в раздел настроек вашего репозитория, выберите основную ветку в разделе «Источник» и нажмите кнопку «Сохранить», после чего обновите страницу, и вы сможете увидеть ссылку на свою страницу!
ответил 01 июля ’18 в 13:31

Перейдите в раздел настроек вашего репозитория, выберите основную ветку в разделе «Источник» и нажмите кнопку «Сохранить», после чего обновите страницу, и вы будете может видеть ссылку вашей страницы!
Я тоже столкнулся с этой проблемой (404), и основная причина заключалась в том, что мой файл был назван INDEX.md . Я разрабатывал для Windows, и мой локальный сайт Jekyll работал (поскольку Windows по умолчанию обрабатывает имена файлов без учета регистра). Когда его отправили на Github, это не сработало. После того, как я переименовал INDEX.md в index.md , все стало хорошо.
ответил 29 ноя ’18 в 07:22

Я тоже столкнулся с этой проблемой (404), и основная причина заключалась в том, что мой файл был назван INDEX.md . Я разрабатывал для Windows, и мой локальный сайт Jekyll работал (поскольку Windows по умолчанию обрабатывает имена файлов без учета регистра). Когда его отправили на Github, это не сработало. Как только я переименовал INDEX.md в index.md , все стало хорошо.
Еще один сценарий:
- с использованием страницы организации (не страницы проекта), имеющей репозиторий с именем
.github.io - исходные документы в виде разметки в
masterветке (asciidoc) - Travis CI извлекает файлы исходной документации из
masterи отправляет сгенерированный HTML файлы вgh-pagesветку
В ветку gh-pages обновляются сгенерированные html-страницы. Вкладка GitHub Environment содержит ссылку на страницу организации. Щелчок по нему приводит к 404 .
Согласно https://help.github.com/articles/configuring-a-publishing-source-for-github- pages/
Страницы пользователей и организаций, которые имеют этот тип имени репозитория, публикуются только из
masterветви
Если я правильно понимаю, страницы GitHub не будут публиковаться из ветки gh-pages , если вы создаете пользователя или Organization , а не сайт Project .
Я переименовал свое репо, чтобы сделать его Project site, а не Organization site, а затем была опубликована ветвь gh-pages , как ожидалось.
ответил 30 нояб., в 2:32

Еще один сценарий:
- с использованием страницы организации (не страницы проекта) с репозиторием с именем
.github.io - исходные документы в виде разметки в ветке
master(asciidoc) - Travis CI извлекает файлы исходной документации из
masterи помещает сгенерированные файлы html в ветвьgh-pages
Ветвь gh-pages обновляется сгенерированными HTML-страницами. Вкладка GitHub Environment содержит ссылку на страницу организации. Щелчок по нему приводит к 404 .
Согласно https://help.github.com/articles/configuring-a-publishing-source-for-github- pages/
Страницы пользователей и организаций, которые имеют этот тип имени репозитория, публикуются только из
masterветви
Если я правильно понимаю, страницы GitHub не будут публиковаться из ветки gh-pages , если вы создаете пользователя или Organization , а не сайт Project .
Я переименовал свое репо, чтобы сделать его сайтом Project , а не сайтом Organization , а затем gh -pages была опубликована должным образом.
У меня была такая же проблема .. Очень странная проблема .. В моем HTML-коде был пробел после
> >>
Исправлено после удаления пробела
> >
ответил июн 11 ’19, 20:45
-
Вероятно, это просто эквивалентно перестроению сайта, как в stackoverflow.com/a/45907768/12 4703 – Kenyon 10 января в 23:20
добавить комментарий |
У меня была такая же проблема .. Очень странная проблема … В моем HTML-коде был пробел после title
> >>
Исправлено после удаления пробела
> >
Кроме того, страницы GitHub в настоящее время не поддерживают Git LFS. Таким образом, если у вас есть изображения (или другие двоичные ресурсы) на страницах GitHub, зафиксированных с помощью Git LFS, вы получите ошибку 404, не найденную для этих файлов.
Это будет довольно часто для документации, созданной с помощью Doxygen или аналогичный инструмент.
В этом случае решение состоит в том, чтобы просто не фиксировать эти файлы с помощью Git LFS.
ответил 20 августа ’19 в 15:41

Кроме того, страницы GitHub в настоящее время не поддерживают Git LFS. Таким образом, если у вас есть изображения (или другие двоичные ресурсы) на страницах GitHub, зафиксированных с помощью Git LFS, вы получите ошибку 404, не найденную для этих файлов.
Это будет довольно часто для документации, созданной с помощью Doxygen или аналогичный инструмент.
В этом случае решение состоит в том, чтобы просто не фиксировать эти файлы с помощью Git LFS.
В моем случае мой репозиторий был частным. Сделайте репозиторий общедоступным и повторите все шаги.
ответил 17 сен ’19 в 19:07

В моем случае мой репозиторий был частным. Сделайте репозиторий общедоступным и повторите все шаги.
Сайт пользователя страниц не опубликован
У меня есть сайт по адресу https://github.com/signalshore/signalshore. github.io/, который показывает 404, когда я пытаюсь посетить его через signalhore.github.io
Это происходит уже почти 2 часа.
Вот два скриншота


Привет, @signalshore
Я только что посмотрел, и похоже, что ваш сайт в настоящее время работает.
Если вы все еще видите ошибку 404, возможно, ваш браузер обслуживает кешированную версию страницы до ее успешной публикации. Если вы используете Chrome в качестве браузера, вы можете использовать сочетание клавиш Control + Shift + R, чтобы исправить это. В качестве альтернативы вы можете попробовать посетить свой веб-сайт в режиме инкогнито или в окне частного просмотра.
Также хорошо отметить, что сборка GitHub Pages может занять до десяти минут (и для ваших изменений чтобы появиться) после добавления нового коммита в ваш репозиторий. Поэтому иногда требуется некоторое время, прежде чем вы увидите свой сайт таким, каким вы его ожидали.
Надеюсь, это поможет!
То же самое происходит с меня часами, а сайт до сих пор не работает. Я тоже очистил свой кеш, попробовал в инкогнито, но все еще не работаю, что делать
https://github.com/tarun4all/trackme.git.io
У вас не может быть поддомена, который не является вашим именем пользователя, и если вы создадите репо с другим именем, он не будет автоматически установлен как страница github. Перейдите в настройки репо и включите страницы github в ветке master. Тогда ваша страница должна быть по адресу https://tarun4all.github.io/trackme.git.io/из-за того, как вы назвали свое репо.
Привет, я сейчас тоже имея ту же проблему, все началось с развертывания через терминал m, сначала получилось
fatal: ветвь с именем ‘gh-pages’ уже существует.
Решена эта удалив папку node_modules/.cache.
Затем приступил к повторному развертыванию и получил другую проблему.
fatal: destination path ‘node_modules gh-pages. cache github.com! derahn! My-портфолио.git ‘уже существует и является
не пустым каталогом.
Решено, посетив мои настройки репо и отключив gh-страницы раздел (установив для источника значение none)
После этого все вроде работало нормально, и мой терминал наконец-то отобразил опубликованное решение.
Но прошло около часа, а код ошибки 404 все еще появляется.
Вот ссылка на сайт: https://derahn.github.io/ dotun_portfolio/
Пожалуйста, посоветуйте соответственно, спасибо
Привет, вопрос новичка: если у меня есть второй репозиторий в github, как мне его тогда называть ? (Если репозиторий может называться только myusername.github.io, может быть опубликован только один репозиторий github)
Аххх, я перечитал ваше сообщение и теперь понимаю, как решить. Спасибо!
То же самое и с моим сайтом, слава Богу, я увидел этот пост, и моя проблема решена
То же самое произошло на мой размещенный сайт тоже. Страница не найдена. Как мне это исправить?
привет,
даже я столкнулся с проблемой samr … я пробовал то, что вы упомянули в сообщении но все же он показывает, что страница не найдена.
Не могли бы вы мне помочь в этом отношении, пожалуйста …
У меня была эта проблема, и виновником оказалась что я только что создал репо с тем же именем, а затем удалил его. Когда я переименовал интересующее репо, живая страница загрузилась нормально.
У меня та же проблема, что и у многих людей, но я не понимаю, как она исправляется.
Я надеялся использовать адрес .github, io,
Сначала я попытался создать страницы в репозитории с именем/docs, но в настройках -> Страницы GitHub -> Источник,
возможность использовать документы, поскольку исходный текст был выделен серым цветом. Затем я попытался создать репозиторий
.github.io, и когда я это сделал, в настройках -> Страницы GitHub -> Источник, а не
давая мне меню, говорится, что «Ваш сайт GitHub Pages в настоящее время создается из основной ветки»
, а выше говорится: «Ваш сайт готов к публикации по адресу http:// .github.io/”
Звучит хорошо, но когда я нажимаю эту ссылку, я получаю страницу 404. Я уверен, что мне что-то не хватает
(возможно, «готово к публикации» отличается от «опубликовано», и мне нужно сделать что-то еще),
но я не знаю что.
Есть идеи?
Ну, неважно.
После того, как я изменил имя на мой репозиторий, я должен был сделать коммит, прежде чем он будет опубликован. Но не все.
Мой сайт не опубликован. www.vipin-tech.github.io.
Когда я вхожу в github, перехожу на страницу настроек и перехожу на URL-адрес страниц github, я могу получить доступ к веб-сайту.
Но когда я очищаю файлы cookie и кеш и введите URL-адрес в браузере, я вижу ошибку 404.
Пожалуйста, кто-нибудь может мне помочь с этим?
Вы можете опубликовать свои другие репозитории также с использованием страниц Github, но домен, из которого вы можете получить к нему доступ, – это .github. io/
Все еще его 404 Bro !!
Мой сайт все еще недоступен и У меня ошибка 404! Кто-нибудь мог видеть свои веб-сайты вживую?
Вы выяснили, в чем проблема? У меня такой же 
Полагаю, вы смогли успешно отправьте код в репозиторий.
Убедитесь, что выполнены следующие условия:
- Версия Angular Cli должна быть 8+.
- Репо должно быть публичным, а не приватным – перейдите к настройкам и измените репо на публичное.
- Попробуйте выполнить следующую команду: ng deploy –repo = https://github .com// –base-href = https:// .github.io//
На странице настроек вы получите сгенерированную ссылку.
Проверьте вкладку сети, чтобы увидеть, успешно ли загружаются пакеты, иначе очистите кеш один раз и попробуйте: ctrl + shift + R.
Is your site not working after you’ve deployed to Github Pages?
You see a blank page, or maybe the homepage shows up fine, but then you click on a link and nothing happens. You pop up dev inspector only to find a bunch of 404 status codes.
It happens to many developers — the website works fine on localhost but after deploying to Github Pages, everything breaks.
By understanding the core problem, you will be able to spot it and prevent it from happening in all your future deployments, not just on Github Pages.
Let’s investigate the issue and make your site work as expected in production.
What are root-relative links?
To better understand why links often break when deploying to Github Pages, first we need to learn what root-relative links are.
Root-relative links[1] are links that start with a forward slash (/). When clicked, a root-relative link ignores the path location of the current URL. Which part of an URL is the path? Everything that comes after the domain. The path of the following URL, for example, https://example.com/blog/articles is /blog/articles.
A root-relative link always leads to the same path within the current domain, regardless of where it is found. Consider the following examples:
<!--
Root-relative links ignore the current URL and always lead
to the same path within the current domain
-->
<!-- Current location: https://example.com/ -->
<a href="/awesome-post"> <!-- leads to: https://example.com/awesome-post -->
<!-- Current location: https://example.com/blog -->
<a href="/awesome-post"> <!-- leads to: https://example.com/awesome-post -->
<!-- Current location: https://example.com/blog/articles -->
<a href="/awesome-post"> <!-- leads to: https://example.com/awesome-post -->
Root-relative links and Github Pages
The inflexibility of root-relative links shows when we move a site to a different path location.
Suppose you have your articles hosted at https://example.com/<article-slug> and you decide to move them into a dedicated blog section on your website. Your articles are now found at https://example.com/blog/<article-slug>. If you were linking to another article from that page, say <a href="/awesome-post">, the link would lead to the old location https://example.com/awesome-post which doesn’t exist anymore.
Root-relative links ignore their current path and they don’t follow location changes.
The same thing happens when you develop your site locally and then deploy to Github Pages[2]. The location of your site changes from root (/) to the project’s repository name:
Github Pages hosts your site at a location equal to the repository name
Everything on your site – including your assets such as images, CSS and JS files — is available at the new location. A link pointing to /awesome-article on localhost needs to lead to /my-project/awesome-article in production.
Prefix all links
To fix this issue, you have to prefix all links with the repository name of your project. Luckily, most static site generators and frameworks have an option to configure this during the build process so you won’t have to do this manually.
Gatsby
In Gatsby, you add a pathPrefix value to your gatsby-config.js:
// Configure Gatsby to prefix all links with the Github repository name
module.exports = {
pathPrefix: '/my-project',
}
Then when you build the application, you add the --prefix-paths flag to the command like so:
gatsby build --prefix-paths
If you don’t add this flag, Gatsby will ignore the pathPrefix configuration and it will build your site as if it was hosted at the root path.
Documentation: https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/path-prefix/
Create React App
With Create React App, the configuration lies in the homepage property in your package.json file:
"homepage": "https://username.github.io/my-project",
Using this, Create React App will infer the location to use in the generated HTML.
If you’re using React Router v4 or higher, you need an additional configuration on any <Router> component to prefix your <Link>s. With <BrowserRouter> for example:
<BrowserRouter basename={process.env.PUBLIC_URL}>
<Link to="/awesome-post">
</BrowserRouter>
Create React App will extract the path location from the homepage setting and make it available to you through the PUBLIC_URL environment variable.
Documentation: https://create-react-app.dev/docs/deployment/#building-for-relative-paths
Next.js
Update: With the release of Next.js 9.5, prefixing all links is much easier than it used to be. You can use the basePath configuration in your next.config.js file. If you’re using older versions of Next.js, you can follow the steps below.
In Next.js, you first add the assetPrefix configuration to the next.config.js file:
const pathPrefix = process.env.NODE_ENV === 'production'
? '/my-project'
: '';
module.exports = {
assetPrefix: pathPrefix,
env: {
pathPrefix,
},
};
Additionally, you also need to assign the prefix to an environment variable so you can reuse it in your application. Unfortunately, Next.js doesn’t offer an easy way to add a prefix to your <Link> components. You’ll have to do this manually, and the best way is to create a <PrefixedLink> component and use it throughout the app.
import Link from 'next/link';
const PrefixedLink = ({ href, as = href, children, ...props }) => (
<Link
href={href}
as={`${process.env.pathPrefix}${as}`}
{...props}
>
{children}
</Link>
);
export default PrefixedLink;
Replace all <Link> components in your application with <PrefixedLink> and you should be all set.
Documentation: https://nextjs.org/docs/api-reference/next.config.js/cdn-support-with-asset-prefix
Vue
Prefixing your links with the repository name is quite straightforward in Vue. You need to set the correct publicPath in vue.config.js:
module.exports = {
publicPath: process.env.NODE_ENV === 'production'
? '/my-project/' // note the trailing slash
: '/',
};
The setting is applied in production only so it doesn’t break your development workflow on localhost.
Documentation: https://cli.vuejs.org/guide/deployment.html#github-pages
Why not use relative links?
You might be wondering — why aren’t we using relative links instead? A link such as <a href="awesome-post"> (without the forward slash /) will respect its current path location and will work even if you host your website several directories deep (/blog/articles/2020/...).
The downside of using relative links is that they break client-side routing relying on the HTML5 history API. You’re probably not using it directly, but React Router, Vue Router, Next.js and Gatsby all use it under the hood. Client-side routing is at the core of single-page applications and it’s what makes it possible to navigate to other pages without refreshing the browser.
If your website is not a single-page application and you don’t care about client-side routing, Create React App and Vue allow you to opt into relative links.
-
You’ll sometimes see root-relative links wrongly referred to as absolute links. This is technically incorrect because an absolute link always starts with the scheme/protocol (https://). The confusion stems from the fact that root-relative links are absolute with regards to the path section of the URL. ↩︎
-
Github Pages distinguishes between user sites and project sites. User sites are served from the root path (
/), but they need to be in a repository named username.github.io. A Github account can only have one user site. That’s why you’ll more often see project sites and that’s what this article refers to. ↩︎












