如何将每个请求重定向到sub.sub.domain.com到sub.domain.com? (Azure云服务)

时间:2013-10-15 19:31:57

标签: iis azure

我正在尝试配置我的web.config,将所有请求重定向到http://sub.sub.domain.comhttp://sub.domain.com。我的项目托管在Windows Azure中的云服务中。

这是我尝试过的(但没有效果)。

<system.webServer>
   <rewrite>
      <rules>
         <rule name="Redirect sub.sub.domain.com to sub.domain.com">
            <match url="(.*)" />
            <conditions>
               <add input="{HTTP_HOST}"
                    pattern="^sub\.sub\.domain\.com$"
                    negate="true" />
            </conditions>
            <action type="Redirect"
                    url="http://sub.domain.com/{R:1}"
                    redirectType="Permanent" />
         </rule>
      </rules>      
   </rewrite>
</system.webServer>

任何人都可以提供帮助吗?

非常感谢!

2 个答案:

答案 0 :(得分:0)

尝试更新您的web.config以包含以下内容:

<rule name="My redirection">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^sub.sub.domain.com$" />
    </conditions>
    <action type="Redirect" url="http://sub.domain.com/{R:1}" redirectType="Permanent" />
</rule>

答案 1 :(得分:0)

好的,我终于选择了解决方案来处理global.asax中的BeginRequest事件。这是我使用的代码:

protected void Application_BeginRequest( object sender, EventArgs e )
{
  if( this.Request.Url.Host.StartsWith( "sub.sub.domain.com" ) )
  {
    var uriBuilder = new UriBuilder( this.Request.Url );
    uriBuilder.Host = this.Request.Url.Host.Replace( "sub.sub.domain.com", "sub.cuisinaviva.com" );

    this.Response.RedirectPermanent( uriBuilder.ToString() );
  }
}

为了添加有关我的项目的更多信息,它是一个在ASP.NET MVC 4项目中托管的Silverlight 5应用程序。

注意:我认为Andy给出的解决方案可能很好,因为我在其他地方看到了一些类似的芒果。我只是不确定这是否适用于Azure ......