jekyll相当永久链接给我WEBrick错误

时间:2015-08-03 15:20:12

标签: jekyll permalinks

我正在Jekyll(3.0.0测试版)开发我的博客,目前在localhost上,

当我尝试实现非常永久链接时,我尝试访问帖子时显示WEBrick错误。

如果我应用/:year/:month/:day/:title.html它运作正常你有一个线索,为什么它不适用于漂亮的永久链接?

这是我得到的错误:

<?php get_post_type( $post ) ?> <?php if ( $post->post_name === 'belden-village' ) : ?> <?php echo "<p>*For all groups of 8 or more, an 18% gratuity will be included on your guest check. Thank You</p>"; ?> <?php endif ?>

1 个答案:

答案 0 :(得分:1)

将Jekyll固定链接设置为pretty中的_config.yml,如下所示:

permalink : pretty

... 并重新启动您的WEBrick服务器(使用jekyll serve重新启动服务器实例,或者需要bundle exec jekyll serve [如果遵循GitHub]以获取新值效果,您的永久链接将不再采用YYYY/MM/DD/title-slug.html格式,因为它们现在“非常”。链接的新格式为/:categories/:year/:month/:day/:title/。这符合美丽所确定的格式变量定义为here in the documentation

这对您意味着什么,因为“Per permas working”帖子的原始链接不再是localhost:4000/2015/08/03/are-permas-working.html,而是现在它们位于localhost:4000/2015/08/03/are-permas-working/,因为您没有定义category

您遇到此错误,因为在您完成更改并重新启动服务器后,您很可能没有导航到主页上的帖子(这将是有这个指向帖子的新链接),而只是你刷新浏览器上的页面,因为页面不再存在,所以会抛出404

奖金,Jekyll通过创建文件夹2015 - &gt;使帖子变得漂亮08 - &gt; 03,然后是该特定帖子的文件夹,里面有index.html

此外,如果您想要那些没有日期的“漂亮”链接,您需要使用以下方法手动指定:

permalink: "/:categories/:title"

此确保将隐藏.html扩展名并删除日期值。

编辑:从我发表的评论中说,永久链接使用/:title可能不起作用,因为与非帖子页面存在冲突,我有所纠正。如果您想要user.github.io/title-of-blog-post/这样的简短固定链接,您只需设置permalink : /:title就可以了。 但是,如果您有非about页面,credits页面的非帖子页面,则应明确在这些页面上设置永久链接在YAML前端获得/about/credits,以避免出现标题为about并且意外覆盖非帖子页面的博文的边缘情况。