【问题标题】:Add .html to url in Azure web.config rewrite在 Azure web.config rewrite 中将 .html 添加到 url
【发布时间】:2017-04-02 03:41:27
【问题描述】:

我希望为 Azure 上的网站使用子页面链接,例如:

HTML 文件 mysubpage.html 放置在 Azure 的 wwwroot 目录中。我希望能够通过在网络浏览器中输入mysite.com/mysubpage 来访问此页面。但是,当我访问此 url 时,我得到输出 “您要查找的资源已被删除、名称已更改或暂时不可用。”

我知道我需要使用 wwwroot 目录中的 web.config 文件来执行此操作,但不确定 web.config 文件需要包含哪些内容?

我目前有以下:

<?xml version="1.0" ?> <configuration>
    <system.webServer>
        <rewrite>
            <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="/mysubpage" value="/mysubpage.html" />
                </rewriteMap>
            </rewriteMaps>
        </rewrite>
    </system.webServer> </configuration>

【问题讨论】:

    标签: azure url url-rewriting azure-web-app-service


    【解决方案1】:

    解决了这个问题。以下工作删除了 html 扩展的删除:

    <?xml version="1.0" ?> <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="Rewrite Rule">
                        <match url=".*" />
                        <conditions>
                            <add input="{StaticRewrites:{REQUEST_URI}}" pattern="(.+)" />
                        </conditions>
                        <action type="Rewrite" url="{C:1}" />
                    </rule>
                </rules>
                <rewriteMaps>
                    <rewriteMap name="StaticRewrites" defaultValue="">
                        <add key="/mysubpage" value="/mysubpage.html" />
                    </rewriteMap>
                </rewriteMaps>
            </rewrite>
        </system.webServer> </configuration>
    

    我知道您想重新路由多个 url,您可以通过添加额外的行来做到这一点,如下所示:

                        <add key="/mysubpage1" value="/mysubpage1.html" />
                        <add key="/mysubpage2" value="/mysubpage2.html" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多