Я не 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>