web.config azure网站友好的url重写路由与手动代码编写



我使用Sublime 2作为文本编辑器,创建了一个Zurb Foundation html/css/js项目作为平面文件。我已经为windows设置了本地git和github,用于部署到Azure网站。我的html导航在下面。我想做的是创建友好的url路由,从页面名称中删除.html。由于该网站只有8个页面,我想手动创建/更新web.config文件,而不必使用visualstudio。

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> 

尝试查找这些答案url:

  • https://stackoverflow.com/questions/15012893/iis-url-rewrite-how-to-remove-directory-and-extension
  • https://stackoverflow.com/questions/10210936/url-rewrite-remove-html-extension

更新:

它适用于静态文件:

        <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>

更多信息:

  • http://www.iis.net/learn/extensions/url-rewrite-module/using-rewrite-maps-in-url-rewrite-module

最新更新