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