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

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

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


我的页数也保持在404页。联系了技术支持,他们指出url是区分大小写的;解决了我的问题。


四个月前,我联系了技术支持,他们告诉我这是他们方面的问题,他们已经暂时修复了它(目前的提交)。

今天我再次尝试

我删除了github上的gh-pages分支 Git push origin——删除gh-pages 我在本地删除了gh-pages分支 git分支-D gh-pages 我重新初始化git git init 我在本地重新创建了分支 Git分支gh-pages 我把gh-pages分支推到了github上 Git推送原始gh-pages

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


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


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


我也有同样的问题后分叉回购与gh-pages分支。我可以通过简单地将一个新的提交(只是index.html中的空白)推到我的fork的gh-pages分支来修复。


我的情况是2017年8月8日

如果您的用户页面为https://github.com/mgravell,则您的回购名称必须为 mgravell.github.io 在根目录下,创建一个index.html文件 在根目录下,创建一个文件夹docs,创建一个文件 文档下的CNAME(注意:没有像.txt这样的扩展名,确保你的文件 系统显示扩展) Gh-pages分支是可选的,master分支就足够了

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


在我的例子中,URL相当长。所以,我想这是有限度的。我把它放在我的自定义子域,它工作。


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

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

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


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


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

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


如果你确定你的结构是正确的,只需要推送一个空的提交,或者更新index.html文件,增加一些空间,就可以了!


如果您看到404,即使一切看起来都是正确的,尝试切换https/http。

原来的问题有错误的url,通常你可以检查回购设置,找到正确的url生成的网站。

然而,我已经正确设置了一切,设置页面说它已经发布,然后我仍然看到404。

感谢@Rohit Suthar的评论(尽管那条评论是要使用https),我把url改为http,它可以工作,然后https也可以工作。


我在我的回购上做了所有的技巧来修复Github page (https://eq19.github.io/)上的404页,但它保持了404'ing。

最后我发现我的浏览器几乎无法保持10分钟的缓存。

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

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

在一次私人回购中,当我第一次添加并将我的gh-pages分支推到github时,github页面的设置自动更改为指示将发布gh-pages分支,但github没有绿色或蓝色条。IO url,没有自定义域选项。

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


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


就我而言,上面的建议都是正确的。我有大多数页面工作,除了少数返回404,即使降价文件在那里,他们似乎是正确的。以下是我在这几页上看到的东西:

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


我也遇到了这个问题(404),根本原因是我的文件名为INDEX.md。我在Windows上开发,我的本地Jekyll网站工作正常(因为Windows默认不区分文件名大小写)。当推送到Github时,它不起作用。有一次我重命名了INDEX。Md到索引。Md,一切都很顺利。


还有另一种情况:

使用组织页(不是项目页),该组织页有一个名为<orgname>.github.io的存储库 源文档作为主分支中的标记(asciidoc) 特拉维斯CI拉源文档文件从主和推动生成的html文件到gh-pages分支

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

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

具有这种类型存储库名称的用户页和组织页为 只从主分支发布

如果我理解正确的话,如果你创建的是用户或组织网站而不是项目网站,GitHub页面将不会从gh-pages分支发布。

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


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


只要等十分钟到一小时。如果还是不行,联系github。通常是他们的问题。 但是,如果你赶时间,你可以试着在URL的末尾加上“?”问号来打开。它强制查询资源。是这样的:

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


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

<!DOCTYPE html>

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

> <title>
> 
> <script>

固定,去除空间后

> <title>
> <script>

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

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

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


在我的例子中,我的存储库是私有的。将存储库设为公共并再次执行所有步骤。


这个错误的另一种变体:

我在一个教程之后建立了我的第一个Github页面,但给了文件自述。Md,在我看来,更有意义的名字:欢迎。Md。

这是一个致命的错误:

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

从发布GitHub页面,现在像1,2,3一样简单

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


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


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

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


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


昨天我遇到了同样的问题(在一个新建立的GitHub页面网站上出现404)。我尝试了很多方法,比如切换一个新的主题等。但它似乎对我的案子仍然不起作用。我最终通过将GitHub页面网站的分支切换到另一个分支来解决这个问题,单击保存。等一会儿再换回去。然后问题突然解决了。


我在看YT的视频。因此,当我在终端上运行该命令时,它已经将代码推到了gh-pages分支。然后我推到主分支。它给了我404错误。

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


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

进入设置->进入GitHub页面部分,并将分支更改为main:

to

保存它,并选择一个主题,网站是实时的。


我不得不将我的回购重命名为一个随机的名字,然后重命名为它原来的名字,让它工作。

看起来可能是GH Pages漏洞。


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

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

我的解决方案是在package.json中设置主页。

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

“主页”:“https://github.com/monsters-rolodex”,

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

之前它不工作,因为在主页url我包括我的github用户名。


以下操作帮助了我:

webpack构建:

Webpack output.publicPath

publicPath: './'

轻快地构建:

轻快地基础

base: './'

对我来说,关键是认识到你可以通过到你的github repo中的“Actions”选项卡看到构建过程中的错误消息。点击最新的“页面构建和部署”工作流显示了阻止发布的错误消息(my _config.yml中的一个简单错误)。


你的GitHub页面可以在http://roine.github.io/p1而不是http://roine.github.com/p1。

顺便说一下,您可以修改项目的描述。


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

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

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

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


今天又遇到了同样的问题。在我的情况下,我添加脚本作为模块,这导致HTTP 404试图获取文件时,部署与Github页面。我不得不改变我的捆扎机使它工作。

in the index.html file

DID NOT WORK:
<script type="module" src="./index.4b5c177027.js"></script>

WORKS:
<script src="./index.4b5c177027.js"></script>

最好的


在我的情况下,这是我最近为GitHub页面设置了一个自定义域,但GitHub已经忘记了我的自定义域下(repo)<name>. GitHub。io / Settings / Pages。

我再次添加了自定义域,然后它立即开始工作。