301 redirect ASP.NET?
Содержимое web.config - реально работающий пример (названия сайтов изменены на фейковые), который:
1) при переходе на www.company.ru перенаправляет на company.ru
2) при переходе на mysite.com перенаправляет на company.ru
3) при переходе на www.mysite.com перенаправляет на company.ru
4) сохраняется ссылочная целостность, т.е. при переходе по www.mysite.com/home/write_to_us  перенаправляет на company.ru/home/write_to_us
Если не работает, значит, что-то с модулем URL Rewrite Module в IIS.
На сайте mysite.com (с которого будет редирект) в web.config пишем:<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
	<rewrite>
		<rules>			
			<rule name="Condition1" stopProcessing="true">
				<match url="^(.*)$" ignoreCase="false" />
				<conditions logicalGrouping="MatchAll">
					<add input="{HTTP_HOST}" pattern="^(www\.)?mysite\.com$" />
				</conditions>
				<action type="Redirect" url="http://company.ru/{R:1}" redirectType="Permanent" />
			</rule>
			<rule name="Condition2" stopProcessing="true">
				<match url="^(.*)$" ignoreCase="false" />
				<conditions logicalGrouping="MatchAll">
						<add input="{HTTP_HOST}" pattern="^www\.company\.ru" />
				</conditions>
				<action type="Redirect" url="http://company.ru/{R:1}" redirectType="Permanent" />
			</rule>
		</rules>
	</rewrite>
  </system.webServer>
</configuration>
На сайте company.ru (на который будет редирект) в web.config пишем:<?xml version="1.0" encoding="utf-8"?>
<configuration>
  ...
  <system.webServer>
	  <rewrite>
		  <rules>
			  <rule name="Redirect to company.ru 1" stopProcessing="true">
				  <match url="^(.*)$" ignoreCase="false" />
				  <conditions logicalGrouping="MatchAll">
					  <add input="{HTTP_HOST}" pattern="^(www\.)?mysite\.com$" />
				  </conditions>
				  <action type="Redirect" url="http://company.ru/{R:1}" redirectType="Permanent" />
			  </rule>
			  <rule name="Redirect to company.ru 2" stopProcessing="true">
				  <match url="^(.*)$" ignoreCase="false" />
				  <conditions logicalGrouping="MatchAll">
						  <add input="{HTTP_HOST}" pattern="^www\.company\.ru" />
				  </conditions>
				  <action type="Redirect" url="http://company.ru/{R:1}" redirectType="Permanent" />
			  </rule>
		  </rules>
	  </rewrite>
  </system.webServer>
  ...
</configuration>
Возможно, сама Visual Studio будет у Вас ругаться на наличие секции "rewrite" - у меня она эту секцию подчеркивала. В чем причина - я, честно говоря, не помню, но на самом сайте уже все работает на ура.
Успехов!
Если есть доступ к панели управления IIS7, то создайте там сайт, пропишите в биндингах site2.com и site3.com
Потом клик на иконку HTTP Redirect, в панельке управления и заполните небольшую формочку (два чекбокса, инпут и дропдаун), и потом на кнопочку Apply.

формочка