如何在Github页面上修复HTTP 404?

时间:2012-07-20 10:02:06

标签: github github-pages

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

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

任何解释和解决方案?

35 个答案:

答案 0 :(得分:118)

我只有一次提交我的所有文件。我推了一个空提交,刷新页面然后就可以了。

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

答案 1 :(得分:52)

就我而言,我的文件名以reviewObject开头(如__css),GH Pages根据Jekyll处理规则忽略。如果您不使用Jekyll,解决方法是将名为_js的文件放在根目录中。

答案 2 :(得分:46)

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

今天我又试了一次

  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

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

答案 3 :(得分:34)

我在here上完成了所有技巧My Fork以修复Github Page上的第404页,但它仍保留了404。

最终发现我的浏览器几乎没有将10 minutes cache保留在网络上。

只需将/index.html添加到网址末尾即可显示并解决问题。

  

https://username.github.io /index.html

答案 4 :(得分:18)

在使用gh-pages分支分配回购后,我遇到了同样的问题。我能够通过简单地将新提交(只是index.html中的空格)推送到我的fork的gh-pages分支来修复。

答案 5 :(得分:14)

我的网页也保持着404。联系支持,他们指出网址区分大小写;解决了我的问题。

答案 6 :(得分:13)

我的案例 8 / Aug / 2017

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

  3. 在root下,创建一个文件夹docs,创建一个文件 CNAME下的docs(注意:没有扩展名,例如.txt,请确保您的文件 系统显示扩展名)

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

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

答案 7 :(得分:10)

就我而言,浏览器具有我应用的先前缓存版本。为避免获取缓存版本,请使用随机查询字符串访问您的 url:

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

答案 8 :(得分:6)

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

GitHub settings screenshot

答案 9 :(得分:3)

只需等待大约十分钟到一小时。如果仍然无法正常工作,请联系github。通常这是他们的问题所在。 但是,如果您很着急,可以尝试通过添加“?”来打开。 URL末尾的问号。它强制查询搜索资源。像这样:

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

答案 10 :(得分:2)

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

答案 11 :(得分:2)

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

答案 12 :(得分:2)

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

<!DOCTYPE html>

答案 13 :(得分:2)

就我而言,以上所有建议都是正确的。我的大多数页面都在工作,但很少有返回404的页面,即使Markdown文件在那里并且看上去正确。以下是这些页面上为我解决的问题:

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

答案 14 :(得分:2)

如果你确定你的结构是正确的,只需按空提交或用一些空格更新index.html文件,它就可以了!

答案 15 :(得分:2)

我通过删除计算机上的“username.github.io”文件夹重新执行这些步骤,包括更改索引/ html文件,让网站工作。

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

答案 16 :(得分:1)

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

答案 17 :(得分:1)

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

原始问题的网址有误,通常您可以查看回购设置并找到生成网站的正确网址。

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

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

答案 18 :(得分:1)

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

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

答案 19 :(得分:1)

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

enter image description here

答案 20 :(得分:1)

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

答案 21 :(得分:1)

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

答案 22 :(得分:0)

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

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

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

<块引用>

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

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

答案 23 :(得分:0)

我必须将我的存储库重命名为随机名称,然后将其重命名为原始名称,以使其正常工作。

似乎是GH Pages的错误。

答案 24 :(得分:0)

在尝试了上面提到的大多数方法后,我也遇到了同样的问题,但我找不到解决方案。就我而言,是因为Github将master的名称更改为main分支。

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

enter image description here

enter image description here

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

答案 25 :(得分:0)

昨天我遇到了同样的问题(在新建立的GitHub页面网站上看到404)。我尝试了许多方法,例如切换新主题等。但是看来,这种方法仍然无法解决我的问题。最后,我通过将GitHub页面网站的分支切换到另一个分支来解决问题,然后单击“保存”。请稍等片刻,然后再将其切换回去。然后问题突然解决了。

答案 26 :(得分:0)

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

答案 27 :(得分:0)

此错误的另一个变体:

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

那是一个致命的错误:

  

如果您没有自述文件,则将其作为网站的索引   welcome.md(或index.md),与浏览到   GitHub上的存储库。

from Publishing with GitHub Pages, now as easy as 1, 2, 3

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

答案 28 :(得分:0)

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

答案 29 :(得分:0)

此外,GitHub pages doesn't currently support Git LFS。这样,如果您在使用Git LFS提交的GitHub页面中有图像(或其他二进制资产),则将找不到这些文件的404。

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

在这种情况下,解决方案是根本不使用Git LFS提交那些文件。

答案 30 :(得分:0)

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

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

已固定,删除空间后

> <title>
> <script>

答案 31 :(得分:0)

还有另一种情况:

  • 使用具有名为<orgname>.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分支发布

如果我正确理解这一点,则在创建gh-pagesUser站点而不是Organization站点的情况下,不会从Project分支发布GitHub Pages。

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

答案 32 :(得分:0)

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

答案 33 :(得分:0)

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

答案 34 :(得分:0)

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

直到我将源切换到master并快速将源切换回gh-pages,它实际上使用包含已发布url的绿色栏进行更新。