Github Pages网站未检测到index.html文件。

118

我创建了一个GitHub页面代码库。出于某种原因,当我将其命名为https://[用户名].github.io时,它无法正常工作,但是当我将其命名为https://[用户名].github.io/index.html时,它可以正常工作。

为什么?


1
你在那个仓库的设置中启用了它吗? - zeekhuge
1
什么意思?如果我加上index.html作为后缀,我就可以访问了。Github上是否有任何设置可以这样做? - Ratan Senapathy
不知怎么的,它突然开始工作了。URL没有附加的index.html。也许只是需要时间让设置生效吧? - Ratan Senapathy
“当我命名它”是什么意思?“它”指的是什么? - Nico Haase
通过在 _config.yml 中添加 baseurl: / 属性来解决此问题。 - Alexander Zhak
对我有用的解决方法:1)添加.nojekyll注释(请参见下面的其他帖子)2)在config.yaml中添加publishDir: docs。然后重新构建网站-这将填充一个docs文件夹,其中包含HTML,并确保GitHub页面在docs文件夹上构建。 - A.Fischer
15个回答

79

它自动修复了。我只需要等一段时间让设置生效即可。


19
你等了多久? - zabop
9
@zabop 我的案件,2分钟。 - stories2
4
我等了30多分钟,什么也没发生。不过第二天它就工作了。 - peabrainiac
1
我的情况大约需要5分钟。他们应该添加一个警告,说明可能需要一些时间。 - EugenSunic
1
@Jan-WillemGmeligMeyling,这不是关于浏览器缓存的问题。问题在于GitHub本身会将响应缓存一到两到三分钟,这对于将其用作实时IDE来说是非常糟糕的。 - undefined
显示剩余3条评论

58

我推了第二个提交,这个问题已经解决。

看到其他答案中的更改已解决此问题,我的猜测是您需要触发几个部署才能使其正常工作。

每次推送都会触发新的部署。您可以在https://github.com/username/username.github.io/deployments跟踪部署情况。


6
重新推送对我有用。似乎是一些缓存问题。 - Jianwu Chen
2
推送另一个提交解决了我的问题。如果这是缓存问题,那一定是Github的问题,因为即使使用硬刷新(Shift+ctrl+R)应该清除缓存,没有 index.html 的页面仍然无法访问(404错误)。 - MoralCode
这在2021年仍然是一个问题,以防有人想知道。如果您提交了一个删除index.html文件的提交,然后再提交另一个提交来恢复它,也会发生这种情况。 - weberc2
1
我刚刚重新运行了我的构建工作流程,问题已经解决了。 - Hans5958
一样!推送第二个提交解决了问题。谢谢! - Al Johri
部署跟踪功能给了我一个404错误。我认为这已经被移动到仓库的操作选项卡中了。 - Maslow

33

如果您不使用Jekyll,解决方法是在根目录下放置一个名为.nojekyll的文件。


我正在使用Hugo生成我的网站,这对我很有效!谢谢。 - Andy White
@el2e10,这会将等待时间从1分钟减少到10毫秒吗? - undefined

14

今天遇到了这个问题(2019年10月06日)

我仔细检查了每个设置,所有的设置,但除非我更改了index.html文件中的一些内容,否则无法解决我的问题。我还添加了一些文件到存储库中,以使其“生效”,但都是徒劳。

因此,在我的情况下,我直接在浏览器中打开了我的index.html文件,点击编辑并添加了一个单词,提交到主分支,刷新后不到5秒就恢复正常了。

另外,我尝试了几乎所有可在任何地方找到的解决方案,但没有其他方法对我起作用。


2
谢谢。在我的情况下,我在index.html中添加了一个额外的空行,保存、提交,然后推送...一切都变好了。 - shireef khatab
1
对我来说也是一样的,只是把顶部的空行删除了,就可以工作了!谢谢! - tlamadon

14
我今天(2020年5月28日)也遇到了同样的问题。假设您已经按照https://pages.github.com/中的说明正确地完成了一切,那么您应该有一个名为username.github.ioindex.html主页的存储库。
对我有用的方法是选择了一个Jekyll主题。首先,进入存储库的 Settings。在GitHub Pages部分,查找Theme Chooser然后单击Choose a Theme。它将重定向您到一个GitHub页面,其中包含多个可供选择的主题。选择您喜欢的主题,然后单击Select Theme。完成这些步骤后,我刷新了username.github.io,页面就正常工作了。

1
这是其中一个原因,如果不选择主题,则无法使用用户名.github.io进行访问。 - Gautam Shahi

14

我的 index.html 文件有以下的 DOCTYPE 设置:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" http://www.w3.org/TR/html4/strict.dtd">

修改为:

<!DOCTYPE html>

问题对我来说已经得到了解决。


3
我的 index.html 文件没有指定 DOCTYPE,这样做修复了我的问题。 - Hendra Anggrian
我不小心写成了 <!doctype html>。将其更改为 <!DOCTYPE html> 解决了我的问题。 - Ronni DC

7

这件事情发生在我身上,当我提交另一个 commit 后,问题就解决了。我只是在 dist 文件夹中的 index.html 文件中添加了一个空格,提交并将该更改推送到我的 gh-pages 分支,然后嘣!现在只需访问 username.github.io/repository,我就可以访问 username.github.io/repository/index.html 了。


5
我遇到了完全相同的问题。如果在发布所有代码后一个小时后,尝试在指定的存储库&gt;设置&gt;GitHub页面中找到的链接,则GitHub页面将正常工作。

3

有类似的问题。我不得不对我的HTML进行随机更改,然后通过git add/commit/push过程。这为我解决了问题!现在我可以访问我的页面,无需在URL末尾添加.html。


3
如果您没有使用Jekyll,则从存储库中删除_config.yml文件。这对我来说解决了问题。
您也可以尝试再次推送本地存储库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接