Jekyll site.baseurl发布至GitHub Pages后logo跳转首页异常求助
解决方案
根因说明
本地测试时Jekyll默认site.baseurl为空值,<a href="{{ site.baseurl }}">会被渲染为<a href="">,空href在本地环境会默认跳转根路径,因此表现正常。部署到GitHub Pages后,环境变量差异、配置冲突会导致site.baseurl取值不符合预期,空href在自定义域名部署场景下会被浏览器识别为跳转当前页面,就会出现你遇到的问题。
修复步骤
1. 替换logo链接写法
将原代码替换为以下内容,用Jekyll内置过滤器自动生成正确的根路径:
<div class="logo-mobile"> <a href="{{ '/' | relative_url }}"><img alt="{{ site.title }}" src="{{ site.logo.mobile | relative_url }}" /> </a> </div>
{{ '/' | relative_url }}会自动适配你配置的baseurl,本地测试和GitHub Pages部署都能兼容,不需要额外修改配置。
2. 校验_config.yml配置
打开项目根目录的_config.yml文件,确认以下配置项:
- 自定义顶级域名场景下,
baseurl必须配置为空字符串:baseurl: "",不要填"/"或者仓库名 - 确认没有多余的GitHub Pages默认配置覆盖你的
baseurl取值
3. 二次验证
部署完成后在浏览器右键点击logo选择「检查」,确认渲染后的<a>标签href属性值为站点根路径。如果仍然异常,检查是否有全局JS代码劫持了a标签点击事件,误修改了logo的跳转地址。
内容的提问来源于stack exchange,提问作者Lola
相关产品推荐
相关产品推荐

