我的问题是类似的redirect子域到新域的子域,除了我使用的是IIS 7的应用程序是ASP.NET框架2.0。
我有一个urlcust1.olddomain.com,我需要redirect到cust1.newdomain.com。
我需要维护子域名,但我需要更改域名,以便用户永远不会看到olddomain.com,并且我拥有X个子域名。
我能够路由一切需要去使用DNS,但我不知道如何更改域,以便olddomain.com永远不会显示。 我希望能把这个301redirect,但是从目前我读到的内容来看,我认为这是不可能的。
思考?
是的,我回答了我自己的问题!
对于IIS 7,您可以从MS Web平台安装程序安装URL重写模块或单独下载。 一旦安装,这基本上给你在IIS中mod_rewrite的力量。
为了解决我的redirect问题,我创build了一个新的redirect条目,如下所示。 URL重写模块提供了用于创buildredirect的用户界面,然后将条目写入网站的web.config,就像许多其他IIS模块一样。
<rewrite> <rules> <rule name="RedirectToNewDomain" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" /> <conditions logicalGrouping="MatchAny"> <add input="{HTTP_HOST}" pattern="*.olddomain.com*" /> </conditions> <action type="Redirect" url="http://{C:1}.newdomain.com{C:2}{PATH_INFO}" appendQueryString="false" /> </rule> </rules> </rewrite>
我正在做的这个redirect是允许所有的URL与通配符匹配url =“*”的规则。 然后,我在旧域上有条件地进行模式匹配。 条件模式匹配中的星号允许我对与模式匹配的任何内容进行反向引用,然后在redirect操作中将其插入为{C:1}&{C:2}。 这是{C:1}的返回引用,允许我在redirect期间维护我的子域,并且是问题的答案。