Github上Jekyll的baseurl与url配置无效问题求助
核对
_config.yml核心配置:
确保baseurl: "/osb"(不要加末尾斜杠,Jekyll官方推荐写法),url: "https://enkrypton.moe"(只写主域名,不带子路径)。如果设置了permalink,别写死绝对路径,用默认的permalink: pretty或者/:categories/:title/即可,这类配置会自动结合baseurl生成正确路径。检查所有内部链接的写法:
站点内所有链接(包括页面跳转、导航、静态资源路径)必须加上{{ site.baseurl }}前缀。比如指向scripts/ez-lyrics的链接,要写成{{ site.baseurl }}/scripts/ez-lyrics,而非直接写/scripts/ez-lyrics——后者是根域名的绝对路径,会直接忽略baseurl,导致跳去主域名下的对应路径。排查GitHub Actions Workflow配置:
确认workflow里是否正确传递baseurl参数。比如用peaceiris/actions-gh-pages部署时,要保证jekyll_build_args里加上--baseurl "/osb",避免构建时覆盖config里的设置。同时检查部署的目标目录是否对应域名的/osb/子目录,而非根目录。本地测试验证:
运行bundle exec jekyll serve --baseurl "/osb",打开本地站点后查看页面源码,检查生成的链接是否都带了/osb/前缀。如果本地生成的链接正确,问题大概率出在部署环节;如果本地就不对,那就是链接写法或config配置的问题。
内容的提问来源于stack exchange,提问作者Enkrypton

