我正在开发一个静态网站Jekyll
,部署于github pages
。我在使用配置文件中的 baseurl 时遇到问题。这是我的摘录_config.yml
:
baseurl: "/blog"
url: "http://remidoolaeghe.github.io"
当在本地运行时http://localhost:4000/博客/ http://localhost:4000/blog/, 一切安好。找到 html 页面,加载资源(图像、css、js)并将其应用到页面上。
一旦部署于Github Pages
,我希望该网站可以在以下位置访问:http://remidoolaeghe.github.io/blog http://remidoolaeghe.github.io/blog但实际的网址是http://remidoolaeghe.github.io http://remidoolaeghe.github.io.
看来 baseurl 没有被使用Jekyll
on Github Pages
。 HTML 页面不在预期的 URL 处,任何资源(css、图像等)也不在预期的 URL 处。浏览器不会加载任何基于 baseurl 的内容,如下所示:
我检查过使用过的Jekyll version
。我使用相同的Github Pages
(2.4.0).
我错过了什么吗?
My Github
可以找到回购协议here https://github.com/remidoolaeghe/remidoolaeghe.github.io.
重定向到的另一种选择/blog
is:
1. GitHub 页面重定向自
GitHub 页面允许redirect-from
如前所述,Jekyll 插件here https://help.github.com/articles/redirects-on-github-pages/。你可以使用他们的plugin https://github.com/jekyll/jekyll-redirect-from并从那里重定向。尽管它是为了防止旧链接转到 404 而构建的,但考虑到您的用例,这可能不是您想要的。
2. 在根目录中手动添加元刷新标签index.html
.
<META http-equiv="refresh" content="0;URL=/blog/">
您会希望该标签位于<head> </head>
。这将告诉任何对您的根 url 的请求指向index.html
存储于/blog/
。这是一种快速的方法,类似于.htaccess
重写完成 http://wiki.dreamhost.com/Transparently_redirect_your_root_directory_to_a_subdirectory,但出于安全原因,GitHub Pages 不支持 .htaccess。此时还要检查您是否得到了404
s 获取某些资源并相应地更新它们的路径,也许可以借助site.baseurl
,正如另一个答案所解释的。baseurl
不是你想象的那样。看Parker 的这篇关于 baseurl 变量的文章 https://byparker.com/blog/2014/clearing-up-confusion-around-baseurl/.
简而言之,我认为你最好的选择是使用第二个,而不是创建 gh-pagesblog
存储库并将您的站点移至那里。实际上,如果您确实转移到一个单独的博客存储库这可能会让事情变得复杂,你仍然需要重定向http://remidoolaeghe.github.io
指向http://remidoolaeghe.github.io/blog
或者其他来访的人http://remidoolaeghe.github.io
而不是/blog
链接仅获得空白页。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)