【问题标题】:How to fix HTTP 404 on Github Pages?如何修复 Github 页面上的 HTTP 404?
【发布时间】:2012-07-19 14:24:18
【问题描述】:

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

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

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

【问题讨论】:

  • 我假设您关注了documentation?您收到电子邮件了吗?- 来自 404:“我们会在您的页面建成后向您发送一封电子邮件。您的页面可能需要十分钟才能可用。”
  • 我尝试了生成的页面,它工作正常。然后我删除了 gh-pages 分支并用我的自定义 html 重建它。我现在至少等了一个小时
  • 请尝试https。如果它正在工作,那么在一段时间后它将与http
  • https 技巧以另一种方式对我有用。我一切正常,设置页面说该网站已发布,给了我正确的网址。但是它一直给出 404。我将 url 更改为 http,它起作用了,然后 https 也起作用了。看起来需要先访问 http 站点才能“激活”它。
  • 对我来说,它在 10-20 分钟后开始工作。它需要时间。所以请耐心等待。

标签: github github-pages


【解决方案1】:

以下操作帮助了我:

webpack 构建:

Webpack 输出.publicPath

publicPath: './'

vite 构建:

vite 基地

base: './'

【讨论】:

    【解决方案2】:

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

      1. 13 line中,添加base:my-project-name;
      1. 重新部署 gh-pages ?

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 大笨蛋。那是救命稻草
      • 这行得通。但它可能是缓存站点的 github 服务器。
      【解决方案4】:

      我在My Fork 上使用了here 上的所有技巧来修复Github Page 上的第404 页,但它一直保持404'ing。

      最后发现我的浏览器几乎没有保留10 minutes cache,然后才出现在网络上。

      只需在 URL 末尾添加/index.html 即可显示并解决此问题。

      https://username.github.io/{repoName}/index.html
      

      【讨论】:

      • 这对我有用。我按照main GitHub Pages page 中的说明创建了这个网站,所以它不能开箱即用有点令人失望。
      • 谢谢!我有同样的问题。奇怪的是我们必须添加 /index.html。
      • 我做了一个软缓存清除,但它没有工作,但添加 /index.html 工作。谢谢
      • 也为我工作过,但这从未发生在我身上,我目前在username.github.iousername.github.io/<additional-page> 上运行多个页面,并且从未需要附加 index.html跨度>
      • 我必须打开开发控制台并在 url 中强制 index.html。谢谢o/
      【解决方案5】:

      我的解决方案是在package.json 中正确设置homepage

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

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

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

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

        • 如果你不使用 Jekyll,.nojekyll 是必须的,这里的文档:github.com/blog/572-bypassing-jekyll-on-github-pages
        • 谢谢你,我已经给 github 发了邮件,要求他们更新他们的指南pages.github.com(没有提到 .nojekyll 文件)
        • 谢谢! Vue 应用程序需要它,可惜在 vue-cli 部署指南中没有提及。
        • 这为我修复了它。我的用户网站最初在没有它的情况下工作,但停止工作。您可以在线添加文件并在那里提交。我这样做了,精神焕发,立即奏效。
        • @bot19 是的,它是 vue-cli deploy 的一部分,它谈到了部署到 GitHub Pages
        【解决方案7】:

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

        看起来这可能是一个 GH Pages 错误。

        【讨论】:

          【解决方案8】:

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

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

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

          【讨论】:

            【解决方案9】:

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

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

            【讨论】:

              【解决方案10】:

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

              【讨论】:

                【解决方案11】:

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

                【讨论】:

                  【解决方案12】:

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

                  【讨论】:

                    【解决方案13】:

                    我在使用 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"
                          },
                    

                    【讨论】:

                      【解决方案14】:

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

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

                      如果这不起作用,正如 @Hendrikto 在 cmets 中指出的那样,请查看 Github status page 并确保 GitHub Pages 可以运行。

                      【讨论】:

                      • 我使用的是 npm 包 angular-cli-ghpages,我所做的是在我的 index.html 文件中添加一个空格,重新运行命令“npx ngh”,它为我推送了一个新的提交,以实现同样的辉煌成果。谢谢,这让我很困惑,你的回答激励我这样做。
                      • 如果您不想使用命令行,您可以直接从 Web 界面编辑 README.md 目录。
                      • 也可能是Github本身的问题。 This page 告诉你 Github 的状态。我有同样的问题,没有解决办法。状态页面显示“性能下降”,我只需要等待服务器再次完全正常运行即可。
                      • 好点@Hendrikto,我在答案中添加了对您评论的引用。
                      • 谢谢你,令人惊讶的是,没有人在任何地方提到这一点,出于某种原因,这个答案没有被选为正确答案。我认为它需要记录在某个地方。您是否还可以提供对 Github 文档的参考? @Arnaud
                      【解决方案15】:

                      此错误的另一种变体:

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

                      这是一个致命的错误:

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

                      来自Publishing with GitHub Pages, now as easy as 1, 2, 3

                      然后我可以使用Repository / Settings / GitHub Pages 下指定的 published at 链接 访问我的网站页面,然后是 welcome.html或更短的welcome

                      【讨论】:

                        【解决方案16】:

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

                        【讨论】:

                          【解决方案17】:

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

                          【讨论】:

                            【解决方案18】:

                            另外,GitHub pages doesn't currently support Git LFS。因此,如果您在使用 Git LFS 提交的 GitHub 页面中有图像(或其他二进制资产),您将得到 404 not found for those files。

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

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

                            【讨论】:

                              【解决方案19】:

                              我有同样的问题..非常奇怪的问题.. 我的 HTML 在 title

                              之后有空格
                              > <title>
                              > 
                              > <script>
                              

                              已修复,删除空格后

                              > <title>
                              > <script>
                              

                              【讨论】:

                              【解决方案20】:

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

                              <!DOCTYPE html>
                              

                              【讨论】:

                                【解决方案21】:

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

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

                                【讨论】:

                                  【解决方案22】:

                                  如果您还没有,请在您的 GitHub Pages 设置选项卡中选择 Jekyll 主题。显然 this is required even if you're not using Jekyll 用于您的 Pages 网站。

                                  【讨论】:

                                  • 我得到 404 Not Found 并尝试了此处答案中建议的所有 18 种其他解决方案,我在一个重复的问题中记录了我的尝试:Very simple HTML resulting in 404 Not Found on GitHub Pages。克里斯的第 19 个答案是为我解决问题的答案。 GitHub Pages 是一项很棒的服务,可惜文档太差了。
                                  • 仅仅选择一个scheme还不够,你还需要在gh-pages分支上新建一个commit来触发更新!
                                  【解决方案23】:

                                  就我而言,2017 年 8 月 8 日

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

                                  3. 在root下,创建文件夹docs,创建文件 CNAMEdocs 下(注意:NO 扩展名如 .txt,确保您的文件 系统显示扩展)

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

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

                                  【讨论】:

                                  • CNAME 文件是否应该为空?如果不是,里面应该有什么?
                                  • @dumbledad 空文件就可以了
                                  【解决方案24】:

                                  另一个场景:

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

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

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

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

                                  如果我理解正确,如果您创建的是 UserOrganization 站点而不是 Project 站点,则 GitHub 页面将不会从 gh-pages 分支发布。

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

                                  【讨论】:

                                    【解决方案25】:

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

                                    【讨论】:

                                      【解决方案26】:

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

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

                                      【讨论】:

                                        【解决方案27】:

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

                                        【讨论】:

                                          【解决方案28】:

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

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

                                          【讨论】:

                                          • 这有帮助。我的项目起初是私有的,在那个状态下,我将项目推送到 Github 页面,我得到了 404 (ofc)。从gh-pages 切换到master,然后从master 切换回gh-pages 后一切正常,应用程序开始工作。
                                          【解决方案29】:

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

                                          原题的url错误,一般可以查看repo设置,找到生成站点的正确url。

                                          但是我一切都设置好了,设置页面说已经发布了,然后我还是看到了404。

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

                                          【讨论】:

                                            【解决方案30】:

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

                                            【讨论】:

                                              猜你喜欢
                                              • 2021-09-07
                                              • 2020-10-08
                                              • 2020-12-27
                                              • 1970-01-01
                                              • 2018-10-13
                                              • 2017-06-14
                                              • 1970-01-01
                                              • 1970-01-01
                                              • 1970-01-01
                                              相关资源
                                              最近更新 更多