将旧网址重新写入新网址Asp.Net

时间:2016-06-30 23:46:31

标签: redirect url-rewriting dns web-config umbraco

我有2个域指向同一个Umbraco应用程序:

oldexample.com
newexample.com

我希望我的应用程序更改以下网址:

oldexample.com/... 
TO 
newexample.com/... 

当人们访问oldexample.com时。

在我的web.config中,我已经放置了这个,但没有效果:

<rewrite>
    <rules>
        <rule name="Redirect old-domain to new-domain" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^oldexample.com$" />
            </conditions>
            <action type="Redirect" url="http://www.newexample.com/{R:0}" appendQueryString="true" redirectType="Permanent" />
        </rule>
        <rule name="WWW Rewrite" enabled="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" negate="true" pattern="^www\." />
                <add input="{HTTP_HOST}" negate="true" pattern="localhost" />
            </conditions>
            <action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" appendQueryString="true" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

我做错了什么?

//应用程序托管在Azure网站中。这两个URL都是分配给该网站的主机名。

1 个答案:

答案 0 :(得分:0)

<rewrite>
  <rules>
    <rule name="Redirect oldexample.com to newexample.com" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
        <add input="{HTTP_HOST}" pattern="^www\.oldexample\.com$" />
        <add input="{HTTP_HOST}" pattern="^oldexample\.com$" />
      </conditions>
      <action type="Redirect" url="http://www.newexample.com/{R:1}" />
    </rule>
  </rules>    
</rewrite>