jekyll 漂亮的永久链接给我 WEBrick 错误
jekyll pretty permalinks give me WEBrick error
我正在使用 Jekyll (3.0.0 beta) 开发我的博客,目前在本地主机上,
当我尝试实现漂亮的永久链接并尝试访问 post 时,它显示 WEBrick 错误。
如果我应用 /:year/:month/:day/:title.html 它工作正常你知道为什么它不能使用漂亮的永久链接吗?
这是我得到的错误:
/2015/08/03/are-permas-working.html' not found. WEBrick/1.3.1 (Ruby/2.1.6/2015-04-13) at localhost:4000
在 _config.yml
中将 Jekyll permalinks 设置为 pretty
后,如下所示:
permalink : pretty
... 并重新启动您的 WEBrick 服务器(使用 jekyll serve
或 bundle exec jekyll serve
[如果遵循 GitHub 重新启动服务器实例] 是新值生效所必需的,您的 permalinks 将不再采用 YYYY/MM/DD/title-slug.html
的格式,因为它们现在是 "pretty"。您的 [=75] 的新格式=]s 将是 /:categories/:year/:month/:day/:title/
。这与定义的 pretty 变量确定的格式一致 here in the documentation。
这对您来说意味着什么 是您原来的 link 'Are permas working' post 不再位于 localhost:4000/2015/08/03/are-permas-working.html
,而是它们现在位于 localhost:4000/2015/08/03/are-permas-working/
,因为您没有定义 category
。
您遇到此错误 因为在您进行更改并重新启动服务器后,您很可能没有导航到 post 从您的 主页(它将有新的 link 指向 post),而您只是在浏览器上刷新页面,这将抛出一个 404
因为该页面不再存在。
Bonus,Jekyll 通过创建文件夹 2015 -> 08 -> 03,然后为特定 post 创建一个文件夹,使 post 变得漂亮里面有一个 index.html
。
另外, 如果你想要 "pretty-fied" link 那里没有日期,你需要手动指定使用这个:
permalink: "/:categories/:title"
此确保将隐藏 .html
扩展名并删除日期值。
EDIT:从评论中我说使用 /:title
for permalinks 可能不起作用,因为与非 [=77 有冲突=] 页面,我已纠正。如果你想要像 user.github.io/title-of-blog-post/
这样的短 permalinks 你只需要设置 permalink : /:title
就可以了。 但是,如果您有非post页面,例如about
页面、credits
页面,您应该明确 将这些页面上的 permalinks 设置为 /about
和 /credits
YAML frontmatter 以避免出现博客 post 的边缘情况about
并且不小心覆盖了非 post 页面。
我正在使用 Jekyll (3.0.0 beta) 开发我的博客,目前在本地主机上,
当我尝试实现漂亮的永久链接并尝试访问 post 时,它显示 WEBrick 错误。
如果我应用 /:year/:month/:day/:title.html 它工作正常你知道为什么它不能使用漂亮的永久链接吗?
这是我得到的错误:
/2015/08/03/are-permas-working.html' not found. WEBrick/1.3.1 (Ruby/2.1.6/2015-04-13) at localhost:4000
在 _config.yml
中将 Jekyll permalinks 设置为 pretty
后,如下所示:
permalink : pretty
... 并重新启动您的 WEBrick 服务器(使用 jekyll serve
或 bundle exec jekyll serve
[如果遵循 GitHub 重新启动服务器实例] 是新值生效所必需的,您的 permalinks 将不再采用 YYYY/MM/DD/title-slug.html
的格式,因为它们现在是 "pretty"。您的 [=75] 的新格式=]s 将是 /:categories/:year/:month/:day/:title/
。这与定义的 pretty 变量确定的格式一致 here in the documentation。
这对您来说意味着什么 是您原来的 link 'Are permas working' post 不再位于 localhost:4000/2015/08/03/are-permas-working.html
,而是它们现在位于 localhost:4000/2015/08/03/are-permas-working/
,因为您没有定义 category
。
您遇到此错误 因为在您进行更改并重新启动服务器后,您很可能没有导航到 post 从您的 主页(它将有新的 link 指向 post),而您只是在浏览器上刷新页面,这将抛出一个 404
因为该页面不再存在。
Bonus,Jekyll 通过创建文件夹 2015 -> 08 -> 03,然后为特定 post 创建一个文件夹,使 post 变得漂亮里面有一个 index.html
。
另外, 如果你想要 "pretty-fied" link 那里没有日期,你需要手动指定使用这个:
permalink: "/:categories/:title"
此确保将隐藏 .html
扩展名并删除日期值。
EDIT:从评论中我说使用 /:title
for permalinks 可能不起作用,因为与非 [=77 有冲突=] 页面,我已纠正。如果你想要像 user.github.io/title-of-blog-post/
这样的短 permalinks 你只需要设置 permalink : /:title
就可以了。 但是,如果您有非post页面,例如about
页面、credits
页面,您应该明确 将这些页面上的 permalinks 设置为 /about
和 /credits
YAML frontmatter 以避免出现博客 post 的边缘情况about
并且不小心覆盖了非 post 页面。