Azure 网站 - 使用 web.config 重写 URL 不起作用

Posted

技术标签:

【中文标题】Azure 网站 - 使用 web.config 重写 URL 不起作用【英文标题】:Azure web site - URL Rewrite using web.config not working 【发布时间】:2013-12-23 00:33:40 【问题描述】:

我们正在将一些站点迁移到 Azure,并且我将其设置为“网站”。

我们正在尝试做的一个例子非常简单。

当前网址:http://www.website.com/Products.aspx 清理网址:http://www.website.com/Products/

所以在web.config中,有以下内容:

<system.webServer>
    <rewrite>
        <rules>
            <rule name="ProductList">
                <match url="/Products.aspx" />
                <action type="Redirect" url="/Products" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

这是在 IIS 中生成的。我试图将 stopProcess 属性设置为 true...这是我在几个线程中看到的解决方案,但没有任何效果。

本网站是我们使用 ISAPI 模块进行重写的旧网站之一。由于我们没有使用 Azure VM,因此我们无法继续使用此方法进行重写。

这里有什么我遗漏的吗?

【问题讨论】:

【参考方案1】:

Azure 网站没有安装 URL 重写模块,因此配置方法不起作用。也许您可以更新站点代码以使用 ASP.NET URL 路由,如 Scott Gu 的这篇博文所述:http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx

Azure 网站过去没有安装 URL 重写模块,但现在安装了,因此您可以使用 web.config 中的标准 &lt;system.webServer&gt;&lt;rewrite&gt; 部分。

【讨论】:

哎呀!如果是这种情况,看起来我将使用这些站点进行 VM 路由。我有 100 多个站点,我们希望将它们放在 Azure 上。我想如果我们将它们保留为“网站”实例,它们会更容易管理并且更加独立,而不是在 VM 中运行在 IIS 上的一堆站点。所有这些网站都在旧架构上。 Azure 完全支持我们的新架构……不幸的是,我们无法迁移代码库。感谢您的回复。

以上是关于Azure 网站 - 使用 web.config 重写 URL 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在没有Web.Config的情况下更改Azure上的接受MIME类型

在 Windows Azure 网站中使用 SVG

Azure网站上的黑名单特定IP

Azure 网站 IP 限制

如何在 Azure 网站上设置 machineKey

如何使用托管在本地 IIS 上的 Web 应用从 Azure 密钥保管库访问 web.config 中的应用设置和连接字符串等机密