С недавнего времени пробую себя в создание сайтов, начал, естественно, с простых вещей и с того, что мне сейчас реально могло бы пригодиться - детский сайт: с колыбелями, загадками, почемучками и т.п., что бы можно было читать дочке с любого девайса.
Для меня это занятие в целом новое, но весьма затянуло. Так как проработал несколько лет программистом на C# - решил попробовать написать на ASP.NET MVC4. В качестве хостинга, пока заюзал бесплатный для меня Windows Azure. Сделал простенький детский сайт, купил домен, в зоне ru. И теперь началось самое интересное (хотя, учитывая мое нубство в асп.нете веселого было гораздо больше :) ) - я захотел, что бы с адреса Azure сайта был редирект на купленный домен в зоне ру.
Для начала начал рыть интернет с целями - как это вообще делается, нашел статьи про .htaccess, с которым тоже была целая история - оказывается винда не даст просто так взять и переименовать файл в файл такого вида - говорит имя файла надо задать :) Но командная строка решает всё. Создал файл, довольный - паблишу в Azure. Не тут то было - ничего не происходит. Для IIS'a - такой вариант не работает.
Но в ажуре же и доступа к интерфейсу ИИСа нет, что делать? Очень много решений по интернету, описывающих, как с шарпного кода редиректить на другой сайт. Но вот не понравилось мне это, не понимаю я, зачем запрос вообще должен обрабатываться моим кодом. Начал рыться дальше - решение оказалось довольно простым.
Достаточно в конфиге, в секции
<system.webServer>
Вставить следующий конфиг:
<rewrite>
<rules>
<clear/>
<rule name="cloudredirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^subdomain\.azurewebsites\.net$"/>
</conditions>
<action type="Redirect" url="http://domain.ru/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
Какие параметры, что значат - думаю не составит труда найти, скажу лишь, что настроек очень много, можно настроить и исключения для конкретных страниц (negate="true"), и правила для различных переходов, тип редиректа, а так же настроить редирект со страницы www на страницу без и наоборот.
И да - студия ругается на такой конфиг, интеллисенс не знает о такой секции, так что не пугайтесь.