我在IIS上由jekyll生成的静态网站正在定向到子目录,而不是实际的同名html文件(均在根目录中)。我如何更改web.config,以便它将重定向/重写为html?
我正在IIS上部署由jekyll生成的静态网站。我已经搜索了Interweb,现在URL不需要默认的.html扩展名。我在Web.Config中使用了以下代码来删除html扩展名:
<rule name="Redirect to clean URL" enabled="true" stopProcessing="true">
<match url="^([a-z0-9/]+).html$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Redirect" url="{R:1}" />
</rule>
<rule name="RewriteHTML" enabled="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<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>
这是我的根源示例:
-----
|---
|---
| |---1.html
|---/sub---|---2.html
| |---3.html
|
|---index.html
|
|---sub.html
|
|
|---noExtension.html
|
|
|
-----
我现在所取得的成就是:
http://www.example.com/ =====> index.html
http://www.example.com/noextension =====> noextension.html
http://www.example.com/sub =====> / sub ** sub.html ** instad **
http://www.example.com/sub/1 =====> /sub/1.html
我希望将http://www.example.com/sub
的URL定向到sub.html而不是目录。
** PS我不认为我可以更改文件结构,因为它是由jekyll生成的。并且IIS是必需的。没有Apache / nginx **
如果有人可以帮助我,这将是适当的!
干杯!