我使用Sublime 2作为文本编辑器创建了Zurb Foundation html / css / js项目作为平面文件。我已经为我用于部署到Azure网站的Windows设置了本地git和github。我的html导航是在一个小提琴下面。我想要做的是创建友好的URL路由以从页面名称中删除.html。由于该网站只有8个页面,我想手动创建/更新web.config文件,而不必使用visual studio。
http://jsfiddle.net/setbon/smvdV/
下面是我的web.config代码,它位于根目录中,并设置为重定向www。对于没有www的规范域名,我需要添加什么规则才能使.html成为友好的URL?
再一次..我不想使用必须使用asp.net路由框架 - 它只有8页所以...手动编码规则似乎更有效。
<?xml version="1.0"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Canonical Hostname" stopProcessing="false">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" />
</conditions>
<action type="Redirect" url="http://{C:2}{REQUEST_URI}" redirectType="Permanent" />
</rule>
<rule name="Convert to lower case" stopProcessing="true">
<match url=".*[A-Z].*" ignoreCase="false" />
<action type="Redirect" url="{ToLower:{R:0}}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
答案 0 :(得分:1)
尝试查看这些答案网址:
<强>更新强>
它适用于静态文件:
<rules>
<rule name="Rewrite Rule">
<match url=".*" />
<conditions>
<add input="{StaticRewrites:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" />
</rule>
<rule name="Remove html Extension" stopProcessing="true">
<match url="^(.+)\.html$" />
<action type="Redirect" url="{R:1}" redirectType="Permanent" />
</rule>
</rules>
<rewriteMaps>
<rewriteMap name="StaticRewrites" defaultValue="">
<add key="/file1" value="/file1.html" />
<add key="/file2" value="/file2.html" />
<add key="/folder/file3" value="/file3.html" />
</rewriteMap>
</rewriteMaps>
更多信息: