如何在Jekyll中添加RESTful类型的路由

时间:2011-08-14 11:57:28

标签: rest routes jekyll

网站的根 http://example.com 正确识别 index.html 并呈现它。以类似的方式,我希望 http://example.com/foo 来获取目录根目录中的 foo.html 。使用此功能的网站是www.zachholman.com。我在Github看过他的代码。但我仍然无法找到它是如何完成的。请帮忙。

2 个答案:

答案 0 :(得分:11)

此功能实际上可在Jekyll中使用。只需将以下行添加到_config.yml:

permalink: pretty

这将启用不带.html扩展名的帖子和页面的链接,例如

  • /about/代替/about.html
  • /YYYY/MM/DD/my-first-post/代替YYYY-MM-DD-my-first-post.html

然而,你失去了定制永久链接的能力......而且尾随的斜线非常难看。

编辑:design

似乎存在尾部斜杠

答案 1 :(得分:2)

它实际上是需要调整的服务器,而不是jekyll。默认情况下,jekyll将生成扩展名为.html的文件。可能有办法解决这个问题,但你不太可能真的想去那条路。相反,您需要让您的Web服务器知道您希望在使用文件的基本名称(而不是扩展名)调用URL时提供这些文件。

如果您的站点是通过Apache Web服务器提供的,则可以启用“MultiViews”选项。在大多数情况下,您可以使用以下行在站点根目录创建.htaccess文件:

Options +MultiViews

启用此选项后,Apache收到以下请求:

http://example.com/foo

它将提供文件:

/foo.html

请注意,必须设置Apache服务器以允许在htaccess文件中设置该选项。如果没有,您需要在Apache配置文件本身中执行此操作。如果您的站点托管在其他Web服务器上,则需要查找等效设置。