222

gh-pages是我在分支上的 GitHub 存储库。一切看起来都不错,我有我的index.html、我的 CSS、JS 和图片文件夹。

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

有什么解释和解决办法吗?

4

37 回答 37

242

我的所有文件只有一次提交。我推送了一个空提交,刷新了页面并且它起作用了。

git commit --allow-empty -m "Trigger rebuild"
git push

如果这不起作用,正如@Hendrikto 在评论中指出的那样,请查看Github 状态页面并确保 GitHub Pages 是可操作的。

于 2017-08-27T17:51:04.663 回答
111

我在My Fork上做了所有技巧修复Github Page上的第 404 页,但它一直是 404。

最后发现我的浏览器几乎没有保留10 分钟的缓存,然后才在网络上运行。

只需添加/index.html到 URL 的末尾,它就会出现并解决了这个问题。

https://username.github.io/{repoName}/index.html
于 2018-04-26T03:31:32.857 回答
104

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

于 2016-09-25T20:23:57.220 回答
58

四个月前,我联系了支持人员,他们告诉我这是他们方面的问题,他们暂时修复了它(针对当前提交)。

今天我又试了

  1. 我删除了 github 上的 gh-pages 分支

    git push origin --delete gh-pages

  2. 我删除了本地的 gh-pages 分支

    git branch -D gh-pages

  3. 我重新初始化了 git

    git init

  4. 我在本地重新创建了分支

    git branch gh-pages

  5. 我将 gh-pages 分支推送到 github

    git push origin gh-pages

工作正常,我终于可以在页面上更新我的文件了。

于 2012-12-11T02:27:26.497 回答
44

如果您还没有,请在 GitHub Pages 设置选项卡中选择 Jekyll 主题。显然,即使您没有将 Jekyll用于您的 Pages 站点,这也是必需的。

GitHub 设置截图

于 2019-03-23T15:25:28.110 回答
23

在与分支分叉后,我遇到了同样的问题gh-pages。我可以通过简单地将新的提交(只是空格index.html)推送到我的 forkgh-pages分支来修复。

于 2017-01-30T07:32:16.177 回答
20

只需等待大约十分钟到一小时。如果还是不行,联系github。通常这是他们最后的问题。但是,如果您赶时间,可以尝试通过添加“?”来打开。URL 末尾的问号。它强制查询搜索资源。像这样:

http://roine.github.com/p1?

于 2019-05-09T10:28:19.563 回答
20

就我而言,2017 年8 月 8 日

  1. 如果您的用户页面是https://github.com/mgravell,那么您的仓库名称必须是 mgravell.github.io
  2. 在root下,创建一个文件index.html

  3. 在根目录下,创建一个文件夹docsCNAME在下面创建一个文件docs(注意:没有像 .txt 这样的扩展名,请确保您的文件系统显示扩展名)

  4. gh-pages分支是可选的,master分支就足够了

更多:在这里查看官方文档:https ://help.github.com/articles/configuring-a-publishing-source-for-github-pages/

于 2017-08-08T06:40:54.317 回答
16

在我的情况下,浏览器有我的应用程序的先前缓存版本。为避免获取缓存版本,请使用随机查询字符串访问您的 url:

https://{{your-username}}.github.io/{{your-repository}}?randomquery
于 2021-01-13T10:46:51.667 回答
13

我的页面也保持 404'ing。联系了支持人员,他们指出 url 区分大小写;解决了我的问题。

于 2012-11-01T00:42:02.440 回答
5

在我的情况下,我必须去项目设置并启用 github 页面。默认关闭

于 2017-09-09T19:03:08.037 回答
4

在我的情况下,必须选择 gh-pages 分支:

在此处输入图像描述

于 2020-05-21T10:04:03.577 回答
4

如果您看到 404 甚至一切正常,请尝试切换 https/http。

原始问题的 url 错误,通常您可以检查 repo 设置并找到生成站点的正确 url。

但是我已经正确设置了所有内容,并且设置页面说它已发布,然后我仍然看到 404。

感谢@Rohit Suthar 的评论(尽管该评论是使用 https),我将 url 更改为 http 并且它有效,然后 https 也有效。

于 2018-01-19T15:47:34.707 回答
4

我遇到了同样的问题,在尝试了上面提到的大多数方法后,我无法得到解决方案。在我的情况下,由于 Github 将名称更改mastermain分支的问题。

转到 Setting -> 转到 GitHub Pages 部分并将分支更改为 main:

在此处输入图像描述

在此处输入图像描述

保存并选择一个主题,网站就上线了。

于 2020-10-16T11:34:22.400 回答
4

在 index.html 文件的开头添加以下内容

<!DOCTYPE html>
于 2019-05-11T17:48:35.127 回答
3

如果您确定您的结构是正确的,只需推送一个空提交或使用一些空间更新 index.html 文件,它就可以工作!

于 2017-10-17T12:54:03.363 回答
3

我对 typedocs 有这个确切的问题。README.md 有效,但没有显示由我的文档字符串生成的实际文档,我只是得到一个 404 Github Pages 屏幕。

要解决此问题,只需在 /docs 目录(或生成文档的任何位置)中放置一个空文件并调用它.nojekyll

为了确认,您的文件结构现在应该如下所示:

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

将此推送到您的远程 Github 存储库,您的链接等现在应该可以工作了。

还要确保您已在 Github 设置中选择:

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

根据您的文档框架,您可能必须在每次更新文档时重新创建此文件,这是使用 typedocs 并每次在 package.json 文件中创建 .nojekyll 文件的示例:

# package.json

      "scripts": {
        "typedoc": "typedoc --out docs src && touch docs/.nojekyll"
      },
于 2020-04-24T22:40:18.807 回答
3

我的解决方案是正确设置homepagein package.json

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

"homepage": "https://github.com/monsters-rolodex",

该项目是在假设它托管在 /monsters-rolodex/ 的情况下构建的。

在它不起作用之前,因为在主页 url 中我包含了我的 github 用户名。

于 2021-02-10T10:46:51.560 回答
2

出于某种原因,GitHub 页面的部署今天(2020 年 5 月 5 日)停止工作。以前我没有任何 html,只有 md 文件。我尝试创建一个 index.html 并立即发布该页面。删除 index.html 后,该出版物继续工作。

于 2020-05-05T02:20:57.783 回答
2

我通过删除计算机上的“username.github.io”文件夹再次执行这些步骤,包括更改 index/html 文件,从而使该站点正常工作。

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

于 2017-09-25T15:59:15.503 回答
2

就我而言,上述所有建议都是正确的。我的大多数页面都在工作,除了少数返回 404 的页面,即使降价文件在那里并且它们看起来是正确的。以下是在这些页面上为我修复的内容:

  • 在一个页面上,有一些特殊字符不属于其中UTF-8,我认为这就是 GitHub 页面无法呈现它们的原因。更新/删除这些字符并推送新的提交修复了它。
  • 在另一个页面上,我发现'标题周围有撇号,我删除它们,页面内容开始显示正常
于 2018-07-20T07:11:09.060 回答
2

我正在关注这个 YT 视频。因此,当我在终端中运行命令时,它gh-pages已经将代码推送到分支。然后我推到了master树枝上。它给了我404错误。

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

于 2020-10-13T14:30:01.727 回答
1

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

于 2013-07-21T13:25:04.907 回答
1

就我而言,URL 很长。所以,我想有一个限制。我把它放到我的自定义子域中并且它有效。

于 2017-08-19T20:41:06.467 回答
1

在私人仓库中,当我第一次添加并将我的 gh-pages 分支推送到 github 时,github 页面的设置会自动更改以指示 gh-pages 分支将被发布,但 github.io 没有绿色或蓝色条url 并且没有自定义域选项。

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

于 2018-06-12T23:00:12.580 回答
1

此错误的另一个变体:

在完成教程后,我设置了我的第一个 Github 页面,但给文件readme.md起了一个 - 从我的角度来看 - 更有意义的名称:welcome.md.

这是一个致命的错误:

如果您没有 index.md(或index.html),我们将使用您的 README 文件作为站点的索引,这与您浏览 GitHub 上的存储库时没有什么不同。

来自使用 GitHub Pages 发布,现在就像 1、2、3 一样简单

然后,我可以使用/ /下指定的published at链接访问我的网站页面,然后使用.RepositorySettingsGitHub Pageswelcome.htmlwelcome

于 2019-09-22T16:06:51.207 回答
0

我有同样的问题..非常奇怪的问题..我的 HTML标题后有空格

> <title>
> 
> <script>

固定,删除空间后

> <title>
> <script>
于 2019-06-11T20:45:16.483 回答
0

我也遇到了这个问题(404),根本原因是我的文件被命名为INDEX.md. 我在 Windows 上进行开发,并且我的本地 Jekyll 站点正常工作(因为 Windows 默认情况下不区分文件名大小写)。当推送到 Github 时,它不起作用。一旦我将其重命名为INDEX.mdto index.md,一切都运行良好。

于 2018-11-29T07:22:16.577 回答
0

我必须将我的 repo 重命名为一个随机名称,然后将其重命名为原始名称才能正常工作。

似乎它可能是一个 GH Pages 错误。

于 2020-11-03T05:04:16.583 回答
0

还有一个场景:

  • 使用具有名为的存储库的组织页面(不是项目页面)<orgname>.github.io
  • 源文档作为master分支中的标记 (asciidoc)
  • Travis CI 提取源文档文件master并将生成的 html 文件推送到gh-pages分支

使用gh-pages生成的 html 页面更新分支。GitHubEnvironment选项卡提供了组织页面的链接。单击它会产生一个404.

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

具有此类存储库名称的用户和组织页面仅从master分支发布

gh-pages如果我理解正确,如果您创建的是站点而不是站点,则不会从分支User发布OrganizationGitHub Pages Project

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

于 2018-11-30T02:32:45.213 回答
0

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

这对于使用 Doxygen 或类似工具生成的文档非常常见。

在这种情况下,解决方案是简单地不使用 Git LFS 提交这些文件。

于 2019-08-20T15:41:14.783 回答
0

我也遇到了这个问题,我的页面得到 404。然后我在我的存储库中添加了README.md,404 消失了。

于 2019-11-29T00:21:11.383 回答
0

就我而言,我的存储库是私有的。公开存储库并再次执行所有步骤。

于 2019-09-17T19:07:21.970 回答
0

转到存储库的设置部分并在源部分选择主分支,然后在刷新页面后单击保存按钮,您将能够看到页面的链接!

于 2018-07-01T13:31:07.183 回答
0

昨天我遇到了同样的问题(新设置的 GitHub pages 网站上的 404)。我尝试了很多方法,例如切换新主题等。但它似乎仍然不适用于我的情况。我终于通过将 GitHub pages 网站的分支切换到另一个分支来解决这个问题,点击保存。稍等片刻再切换回来。然后问题就突然解决了。

于 2020-09-15T02:42:58.333 回答
0

我使用umijs将项目打包部署到github页面。以下操作帮助了我:

    1. 第 13 行,添加 base: my-project-name;
    1. 重新部署 gh-pages

一点猜测:github页面需要部署到非根目录

于 2021-12-06T08:35:56.750 回答
0

以下操作帮助了我:

网络包构建:

Webpack output.publicPath

publicPath: './'

vite 构建:

维生素基地

base: './'
于 2021-12-06T10:26:16.677 回答