我正在为一个开源项目做出贡献,该项目的文档使用 Jekyll 构建并托管在 Github Pages 上。我正在尝试在文档中添加重定向,因此我已经分叉了它并在分叉中使用 jekyll-redirect-from 。但是,重定向似乎根本不适用。也就是说,jekyll 构建文件夹不包含任何静态文件来保存 jekyll-redirect-from 应该生成的
<meta redirect>
html。相反,当我访问应该重定向的 URI 时,我只得到 404。
我已遵循 jekyll-redirect-from 文档中的所有步骤,包括:
我正在使用 jekyll 2.5.0 和 jekyll-redirect-from 0.8.0 (完整的 gemfile 链接在上面)。我正在使用捆绑器构建项目(使用
bundle exec jekyll serve
),这就是项目一直以来的构建方式。
Jekyll 没有显示任何错误——应该保存重定向的静态文件根本没有显示。
我一辈子都无法解决这个问题。也许我忽略了一些明显的东西,或者我的依赖项中可能存在某种微妙的不兼容?
噢。问题是需要将
safe
选项设置为 false
才能运行插件。这让我很困惑,因为我知道 Github Pages 也将 safe
设置为 false,但 jekyll-redirect-from
通常在那里运行。但这似乎是因为 GH Pages 已明确允许这样做。
我的问题是:
redirect_from: /a/path/
redirect_from: /other/path
重复的指令不能像 YAML 中那样工作。
相反,应该是:
redirect_from:
- /a/path/
- /other/path
我不敢相信这花了我两个小时才弄清楚!
我正在使用:
redirect-from
而不是正确的形式:
redirect_from
这是下划线,不是连字符!
希望没有人能感受到我的痛苦。