0

我正在尝试配置我的 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>

任何人都可以帮忙吗?

非常感谢!

4

2 回答 2

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 应用程序。

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

于 2013-10-16T13:04:03.643 回答
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>
于 2013-10-15T20:13:29.110 回答