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

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

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


当前回答

我的解决方案是在package.json中设置主页。

我的项目名称是monsters-rolodex,我正在从控制台gh-pages -d build发布。

“主页”:“https://github.com/monsters-rolodex”,

该项目构建时假设它托管在/monsters-rolodex/。

之前它不工作,因为在主页url我包括我的github用户名。

其他回答

还有另一种情况:

使用组织页(不是项目页),该组织页有一个名为<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页面无法呈现它们的原因。更新/删除这些字符并提交新的提交可以修复它。 在另一个页面上,我发现标题周围有撇号,我删除了它们,页面内容开始显示正常

此外,GitHub页面目前不支持Git LFS。因此,如果你在GitHub页面中有图像(或其他二进制资产)使用Git LFS提交,你将得到404不对这些文件。

这对于用Doxygen或类似工具生成的文档来说是很常见的。

这种情况下的解决方案就是不使用Git LFS提交这些文件。

在我的情况下,浏览器有我的应用程序以前的缓存版本。为了避免获得缓存版本,访问你的url使用一个随机查询字符串:

https://{{your-username}}.github.io/{{your-repository}}?randomquery

以下操作帮助了我:

webpack构建:

Webpack output.publicPath

publicPath: './'

轻快地构建:

轻快地基础

base: './'