将旧域名重定向到保留网址的新域名
我们正在发布新版本的Web应用程序,并在此过程中对新域名进行品牌更改。将旧域名重定向到保留网址的新域名
我们的应用程序都在Azure中托管。 当前应用程序 - 云服务 新应用程序 - Azure网站
我想要实现的是将旧的链接从旧域重定向到新域,同时保持url部分。
例子: 用户访问 https://my.currentdomain.com/any/link
和将被引导到 https://my.newdomain.io/any/link
办一个CNAME从currentdomain到NEWDOMAIN,然后在我的web.config一个URL重写?
谢谢!
更新 - 我已经在本地测试,它做我在找什么。我只需将旧域的cname指向新域,并且此重定向应该可以获取链接。
<rule name="Redirect to new domain" stopProcessing="true">
<match url="^(.*)$" />
<conditions>
<add input="{HTTP_HOST}" matchType="Pattern" pattern="^olddomain(:\d+)?$" />
</conditions>
<action type="Redirect" url="https://my.newdomain.io/{R:1}" redirectType="Permanent" />
</rule>
您在Azure中托管应用程序的事实对您要找到的解决方案的影响极小或没有影响。
当你做这些事情时,你通常也想保留你在搜索引擎中的所有积分。如果您的https://my.current.domain.com/any/link
将HTTP 301 Redirect Permanent
添加到新位置,则只能实现该目标。
根据项目的规模和复杂程度,这可能是一项微不足道的任务。
一个选项,只有当你想重定向少数(如一打)链接时才有效。你可以在你的web.config文件中直接做到这一点:
<location path="any/link">
<system.webServer>
<httpRedirect enabled="true" destination="https://my.newdomain.io/any/link" httpResponseStatus="Permanent" />
</system.webServer>
</location>
当然,这是没有意义的,当你有一大堆的链接,甚至整个CMS幕后。如果是这种情况,我会选择写一个custom HTTP Module for IIS。这个模块的唯一目的是检查传入的URI并让它更进一步,或者生成HTTP 301重定向。
如果您使用的是来自Microsoft的最新最好的产品,则可以使用custom OWIN Middleware实现相同的(自定义HTTP模块)。
如果只是域更改,所有路径和查询字符串都要保留,请查看this good article how can you do this with URL Rewrite under IIS。
感谢您的回复。有100多个链接。示例/饲料/ {变量}和其他类似的控制器/动作类型。有没有办法为olddomain.com/*/*重新定向到newdomain.com/*/*? – Eilimint
谢谢 - 我在文章中使用了模式重定向,并且所有链接都重定向到新域,并使用/ {R:1}保留其查询。 – Eilimint