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

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

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


当前回答

我通过删除“用户名。github”来让网站正常工作。在我的电脑上重新执行这些步骤,包括更改index/html文件。

我的错误(我认为)是我最初克隆了“https://github.com/username/username.github.io.git”而不是https://github.com/username/username.github.io(没有“。git”)

其他回答

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

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

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

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

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

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

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

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

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

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

我在使用typedocs时遇到了这个问题。README。md工作,但没有实际的文档由我的文档字符串显示,我只是得到了一个404 Github页面屏幕。

要解决这个问题,只需在你的/docs目录(或任何你生成文档的地方)中放置一个空文件,并将其命名为.nojekyll

为了确认,你的文件结构现在应该看起来像:

./docs/.nojekyll  # plus all your generated docs

把这个推到你的远程Github回购和你的链接等现在应该工作。

同时确保你在你的Github设置中选择了:

Settings -> Github Pages -> Source -> master brach /docs folder

根据你的文档框架,你可能必须在每次更新你的文档时重新创建这个文件,这是一个使用typedocs和每次在包中创建.nojekyll文件的例子。json文件:

# package.json

      "scripts": {
        "typedoc": "typedoc --out docs src && touch docs/.nojekyll"
      },