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

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

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


当前回答

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

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

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

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

其他回答

我在看YT的视频。因此,当我在终端上运行该命令时,它已经将代码推到了gh-pages分支。然后我推到主分支。它给了我404错误。

然后我将分支切换到master,然后再次恢复到gh-pages,现在错误消失了。它指向index.html,即使它不在URL中。

在我的例子中,URL相当长。所以,我想这是有限度的。我把它放在我的自定义子域,它工作。

以下操作帮助了我:

webpack构建:

Webpack output.publicPath

publicPath: './'

轻快地构建:

轻快地基础

base: './'

还有另一种情况:

使用组织页(不是项目页),该组织页有一个名为<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分支按预期发布。

就我而言,上面的建议都是正确的。我有大多数页面工作,除了少数返回404,即使降价文件在那里,他们似乎是正确的。以下是我在这几页上看到的东西:

在一个页面上,有一些特殊字符不是UTF-8的一部分,我想这就是为什么GitHub页面无法呈现它们的原因。更新/删除这些字符并提交新的提交可以修复它。 在另一个页面上,我发现标题周围有撇号,我删除了它们,页面内容开始显示正常