网站的根 http://example.com 正确识别 index.html 并呈现它。以类似的方式,我希望 http://example.com/foo 来获取目录根目录中的 foo.html 。使用此功能的网站是www.zachholman.com。我在Github看过他的代码。但我仍然无法找到它是如何完成的。请帮忙。
答案 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服务器上,则需要查找等效设置。