这是我的GitHub仓库在gh-pages分支。 一切看起来都很好,我有index.html, CSS, JS和图片文件夹。

但是当我访问http://roine.github.com/p1时,我得到HTTP 404没有找到。

有什么解释和解决方案吗?


当前回答

在一次私人回购中,当我第一次添加并将我的gh-pages分支推到github时,github页面的设置自动更改为指示将发布gh-pages分支,但github没有绿色或蓝色条。IO url,没有自定义域选项。

直到我将源代码切换到master,并快速将源代码切换回gh-pages,它才真正更新了包含已发布url的绿色条。

其他回答

在我的例子中,我有名称以_开头的文件夹(如_css和_js), GH Pages根据Jekyll处理规则忽略这些文件夹。如果不使用Jekyll,解决方法是在根目录中放置一个名为.nojekyll的文件。否则,您可以从这些文件夹中删除下划线

在这个问题出现之前,我绑定了我的域。我提交并推送了分支gh-pages,它解决了我的问题。新提交迫使jekyll重新构建页面。

你的GitHub页面可以在http://roine.github.io/p1而不是http://roine.github.com/p1。

顺便说一下,您可以修改项目的描述。

还有另一种情况:

使用组织页(不是项目页),该组织页有一个名为<orgname>.github.io的存储库 源文档作为主分支中的标记(asciidoc) 特拉维斯CI拉源文档文件从主和推动生成的html文件到gh-pages分支

gh-pages分支使用生成的html页面进行更新。GitHub Environment选项卡提供了到组织页面的链接。点击它会出现404。

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

具有这种类型存储库名称的用户页和组织页为 只从主分支发布

如果我理解正确的话,如果你创建的是用户或组织网站而不是项目网站,GitHub页面将不会从gh-pages分支发布。

我重命名了我的repo,使其成为Project站点而不是Organization站点,然后gh-pages分支按预期发布。

如果你使用的是Angular这样的框架,你可能需要设置基本的href路径: https://stackoverflow.com/a/54409380/1585161

使用Angular CLI: ng build——baseHref="/users/"

或者更一般地说:<base href="/users/">

还要确保图像资产以。/assets开头,而不是/assets