2015-07-10 6 views
1

Мы выпускаем новую версию нашего веб-приложения и в процессе также делаем изменение бренда с новым доменом.Переадресовать старый домен на новый домен, сохраняя URL-адрес

Оба наших приложения размещены в Azure. Текущее приложение - облачное обслуживание Новое приложение - Azure Website

То, что я хочу достичь, - перенаправить любые старые ссылки из старого домена в новый домен, сохранив часть URL.

Пример: посещения пользователя https://my.currentdomain.com/any/link

и будут направлены на https://my.newdomain.io/any/link

ли я сделать CNAME от currentdomain до NewDomain, а затем URL Rewrite в моем web.config ??

Спасибо!

Обновление - я тестировал это локально, и он выполняет то, что я ищу. Я просто укажу 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> 

ответ

1

Тот факт, что вы размещаете заявку в 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, то тот же (пользовательский модуль HTTP) может быть достигнут с помощью custom OWIN Middleware.

Если это просто изменение домена, все пути и строки запроса должны быть сохранены, ознакомьтесь с this good article how can you do this with URL Rewrite under IIS.

+0

Спасибо за ответ. Существует 100 ссылок. Пример/Feed/{Variable} и другие типы Controller/Action, подобные этому. Есть ли способ сделать перенаправление для olddomain.com/*/* в newdomain.com/*/*? – Eilimint

+0

Спасибо - я использовал перенаправление шаблона в статье, и все ссылки перенаправляются на новый домен и сохраняют свой запрос с помощью/{R: 1} – Eilimint