7

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

4

2 回答 2

11

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

permalink: pretty

这将启用指向没有 .html 扩展名的帖子和页面的链接,例如

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

但是,您将失去自定义永久链接的能力......并且尾部斜线非常难看。

编辑:尾部斜线似乎是设计的

于 2012-02-05T14:15:49.310 回答
2

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

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

Options +MultiViews

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

http://example.com/foo

它将提供文件:

/foo.html

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

于 2011-08-15T18:35:52.970 回答