问题
Here is my GitHub repository on the gh-pages
branch.
Everything looks good, I have my index.html
, my CSS, JS and pictures folders.
But when I access http://roine.github.com/p1 I get HTTP 404 not found.
Any explanation and solution?
回答1:
I had just one commit with all my files. I pushed an empty commit, refreshed the page and it worked.
git commit --allow-empty -m "Trigger rebuild"
git push
回答2:
In my case, I had folders whose names started with _
(like _css
and _js
), which GH Pages ignores as per Jekyll processing rules. If you don't use Jekyll, the workaround is to place a file named .nojekyll
in the root directory.
回答3:
I did all the tricks here on My Fork to fix page 404 on Github Page but it kept 404'ing.
Finaly found that my browser hardly keep the 10 minutes cache before it up on the web.
Just add /index.html
into the end of URL then it showed up and solved the case.
https://username.github.io
/index.html
回答4:
Four months ago I have contacted the support and they told me it was a problem on their side, they have temporarily fix it (for the current commit).
Today I tried again
I deleted the gh-pages branch on github
git push origin --delete gh-pages
I deleted the gh-pages branch on local
git branch -D gh-pages
I reinitialized git
git init
I recreated the branch on local
git branch gh-pages
I pushed the gh-pages branch to github
git push origin gh-pages
Works fine, I can finally update my files on the page.
回答5:
If you haven't already, choose a Jekyll theme in your GitHub Pages settings tab. Apparently this is required even if you're not using Jekyll for your Pages site.
回答6:
I had the same issue after forking a repo with a gh-pages
branch. I was able to fix by simply pushing a new commit (just whitespace in index.html
) to my fork's gh-pages
branch.
回答7:
In my case on 8/Aug/2017
- if your user page is https://github.com/mgravell, you repo name must be mgravell.github.io
under root, create a file
index.html
under root, create a folder
docs
, create a fileCNAME
underdocs
(note: NO extension like .txt, make sure your file system shows extension)gh-pages
branch is optional,master
branch is sufficient
more: check official docs here: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/
回答8:
My pages also kept 404'ing. Contacted support, and they pointed out that the url is case sensitive; solved my issue.
回答9:
Just wait about ten minutes to one hour. If it still doesn't work, contact github. Usually it's the problem at their end. But, if you're in a hurry, you can try to open by adding "?" question mark at the end of URL. It force query to search for the resource. Like this:
http://roine.github.com/p1?
回答10:
If you are sure that your structure is correct, just push an empty commit or update the index.html file with some space, it works!
回答11:
Add the following in the beginning of the index.html file
<!DOCTYPE html>
回答12:
I got the site to work by deleting the "username.github.io" folder on my computer going through the steps again, including changing the index/html file.
My mistake (I think) is that i initially cloned "https://github.com/username/username.github.io.git" instead of https://github.com/username/username.github.io (no ".git")
回答13:
In my case, all the suggestions above were correct. I had most pages working except few that were returning 404 even though the markdown files are there and they seemed correct. Here is what fixed it for me on these pages:
- On one page, there were a few special characters that are not part of
UTF-8
and I think that's why GitHub pages was not able to render them. Updating/removing these char and pushing a new commit fixed it. - On another page, I found that there were apostrophes
'
surrounding the title, I removed them and the page content started showing fine
回答14:
I bound my domain before this problem appeared. I committed and pushed the branch gh-pages and it solved my problem. New commits force jekyll to rebuild your pages.
回答15:
In my case, the URL was quite long. So, I guess there is a limit. I put it to my custom subdomain and it worked.
回答16:
in my case i had to go to project settings and enable the github pages. The default is off
回答17:
If you saw 404 even everything looks right, try switching https/http.
The original question has the url wrong, usually you can check repo settings and found the correct url for generated site.
However I have everything set up correctly, and the setting page said it's published, then I still saw 404.
Thanks for the comment of @Rohit Suthar (though that comment was to use https), I changed the url to http and it worked, then https worked too.
回答18:
On a private repo, when I first added and pushed my gh-pages branch to github, the settings for github pages automatically changed to indicate that the gh-pages branch would be published, but there no green or blue bar with the github.io url and no custom domain options.
It wasn't until I switched the source to master and quickly switched the source back to gh-pages that it actually updated with the green bar that contains the published url.
回答19:
Go to settings section of your repository and choose master branch at the Source section and click save button after that refresh the page and you will be able to see the link of your page!.
回答20:
I faced this problem (404) too and the root cause was my file was named INDEX.md
. I was developing on Windows and my local Jekyll site worked (since Windows treats file names case insensitive by default). When pushed to Github, it didn't work. Once I renamed the INDEX.md
to index.md
, things worked well.
回答21:
Yet another scenario:
- using an Organization Page (not a Project page) that has a repository named
<orgname>.github.io
- source documents as markup in
master
branch (asciidoc) - Travis CI pulling source doc files from
master
and pushing generated html files togh-pages
branch
The gh-pages
branch is updated with the generated html pages. The GitHub Environment
tab provides the link to the organization page. Clicking it results in a 404
.
According to https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/
User and Organization Pages that have this type of repository name are only published from the
master
branch
If I understand this correctly, GitHub Pages will not be published from the gh-pages
branch if you are creating a User
or Organization
site rather than a Project
site.
I renamed my repo to make it a Project
site rather than Organization
site and then the gh-pages
branch was published as expected.
回答22:
I had same issue.. Very strange issue.. My HTML was with space after title
> <title>
>
> <script>
Fixed, after removing space
> <title>
> <script>
回答23:
Also, GitHub pages doesn't currently support Git LFS. As such, if you have images (or other binary assets) in GitHub pages committed with Git LFS, you'll get 404 not found for those files.
This will be quite common for documentation generated with Doxygen or similar tool.
The solution in this case is to simply not commit those files with Git LFS.
回答24:
In my case my repository was private. Make repository public and go through all steps again.
回答25:
Another variant of this error:
I set up my first Github page after a tutorial but gave the file readme.md
a - from my perspective - more meaningful name: welcome.md
.
That was a fatal mistake:
We’ll use your README file as the site’s index if you don’t have an
index.md
(orindex.html
), not dissimilar from when you browse to a repository on GitHub.
(from Publishing with GitHub Pages, now as easy as 1, 2, 3)
I was then able to access my website page using the published at
link specified under Repository
/ Settings
/ GitHub Pages
followed by welcome.html
or shorter welcome
.
回答26:
I also faced this issue, my pages getting 404. And then I added README.md on my repository, and the 404 was gone.
来源:https://stackoverflow.com/questions/55314621/very-simple-html-resulting-in-404-not-found-on-github-pages