Redirect 未在GitHub页面上加载静态资源

Redirect 未在GitHub页面上加载静态资源,redirect,github,github-pages,Redirect,Github,Github Pages,我已经创建了一个网站,并试图将其托管在git hub页面上。我的网址是: http://<username>.github.io/<project name>/ http://.github.io// 但我的站点的静态文件可通过以下路径获得- http://<username>.github.io/css/site.css http://<username>.github.io/script/main.js http://.github.io

我已经创建了一个网站,并试图将其托管在git hub页面上。我的网址是:

http://<username>.github.io/<project name>/
http://.github.io//
但我的站点的静态文件可通过以下路径获得-

http://<username>.github.io/css/site.css
http://<username>.github.io/script/main.js
http://.github.io/css/site.css
http://.github.io/script/main.js
上述路径忽略了

因此,每当我点击url时,我的静态文件都不会加载

有没有办法让它与github url一起工作

注意:当我使用自定义域时,一切正常,因为在这种情况下,相对路径正常

临时解决方案 我创建了一个解决此问题的方法。

来自:

警告:项目页面子路径类似 将不会重定向到 项目的自定义域

这意味着,由于存在相对路径,您可以在
username.github.io/project name上拥有资产,也可以在自定义域上拥有资产

如果您想在github中使用它们,请查看文档中关于配置的内容,它位于页面底部的“项目Url结构”中。很简单,你只需要添加一个

baseurl: /project-name
行到您的
\u config.yml
并在永久链接中使用
{{baseurl}}
标记,jekyll将进行替换。要在本地进行测试,只需使用此选项运行服务器

jekyll serve --baseurl ''

希望有帮助:)快乐编码

另一个选项是将文件
.nojekyll
包含在顶级目录中,它告诉github只提供页面,而不尝试破坏页面(如果您试图发布sphinx的oputput,而不需要任何解析/咀嚼/重写),这非常有用)


如果您的项目是使用创建的React应用程序,请在
包.json中设置
主页
,例如:

“主页”:“/”,
如果未使用客户端路由,请使用以下选项:

“主页”:“,

请参阅。

是否也在
username.github.io
上存在网站?在浏览器中转到
username.github.io/css/site.css
时会发生什么?您可能必须尝试
raw.username.github.io/css/site.css
No username.github.io上没有网站,css文件在该位置不可用。什么是“原始”?您需要更改css和脚本的静态URL以指向正确的位置。只需尝试
/css/site.css
是,但它无法与实际域一起工作。您不能同时使用这两种方法,要么创建username.github.io站点并将样式放在那里,要么将其放在项目中,使样式位于username.github.io/projectname/css/site.cst这正是我所寻找的。谢谢我认为permalink标签应该是
{{site.baseurl}}
而不是
{{baseurl}}
FWIW,我在使用webpack构建网站时遇到了同样的问题。在
webpack.config.js
中设置
:/project name
。即便如此,在构建配置中设置发布的url路径的基本原则是正确的解决方案!一个简单的2文件站点(
index.html
\u bundle.js
)需要
.nojekyll
文件才能工作。