我不是 Rubyist,但我更喜欢 Jekyll,我可以轻松地结合 Heroku 和 Git 创建一个“支持博客”的网站。
我想使用 Rack-Rewrite (或者如果有更好的方法可以这样做,我很乐意使用它)将 '/foo' 重写为 '/foo.html' (即,附加 .html但不更改浏览器),但前提是它不是现有文件或文件夹。
我认为 rewrite %r{/(.*)}, '/$1.html'
这是我前半部分所需要的(即,将 /foo 重写为 /foo.html),但我正在努力处理有条件的“如果文件不存在”部分。
如果它有帮助,在 IIS 下,我有以下相同的操作:
<rule name="RewriteHtml">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="{R:1}.html" />
</rule>