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
中的标准 <system.webServer><rewrite>
部分。
【讨论】:
哎呀!如果是这种情况,看起来我将使用这些站点进行 VM 路由。我有 100 多个站点,我们希望将它们放在 Azure 上。我想如果我们将它们保留为“网站”实例,它们会更容易管理并且更加独立,而不是在 VM 中运行在 IIS 上的一堆站点。所有这些网站都在旧架构上。 Azure 完全支持我们的新架构……不幸的是,我们无法迁移代码库。感谢您的回复。以上是关于Azure 网站 - 使用 web.config 重写 URL 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
在没有Web.Config的情况下更改Azure上的接受MIME类型
如何使用托管在本地 IIS 上的 Web 应用从 Azure 密钥保管库访问 web.config 中的应用设置和连接字符串等机密