如何删除Azure上的URL的.html部分?

时间:2017-04-24 03:44:56

标签: azure

说,我想将此www.example.com/homepage.html转为此www.example.com/homepage

为了实现这一目标,我应该在Azure门户或配置中更改哪些内容?

1 个答案:

答案 0 :(得分:1)

您可以将此代码块放在web.config文件中。

<rewrite>
    <rules>
        <rule name="Hide .html ext">
             <match ignoreCase="true" url="^(.*)"/>
             <conditions>
                 <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
                 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
                 <add input="{REQUEST_FILENAME}.html" matchType="IsFile"/>
             </conditions>
             <action type="Rewrite" url="{R:0}.html"/>
        </rule>
        <rule name="Redirecting .html ext" stopProcessing="true">
            <match url="^(.*).html"/>
            <conditions logicalGrouping="MatchAny">
                 <add input="{URL}" pattern="(.*).html"/>
             </conditions>
            <action type="Redirect" url="{R:1}"/>
         </rule>
   </rules>
</rewrite>

这将从每个 html文件中删除.html扩展名。因此,例如,如果您打开一个名为index.html的文件,它将显示为索引,如果您请求文件索引,它将显示index.html文件(扩展名将不会显示)。

这适用于Azure和IIS,因此如果您将来迁移到IIS,则无需更改任何内容。

我希望我帮助过你。