2008-11-08 4 views
3

В настоящее время у меня есть 2 доменных имени, для которых я хочу настроить разные сайты. В настоящее время я рассматриваю использование бесплатного хостинга, который хорошо работает для моих текущих потребностей, но не дает мне никакого способа указать «mydomain.com» на фактический сайт. Вместо этого я должен дать пользователям более длинный и трудный для запоминания URL.Переадресация нескольких доменов IIS

Мое предлагаемое решение - указать мои домены на мой домашний IP-адрес и разместить небольшое приложение ASP.NET через IIS, состоящее из страницы перенаправления, которая просто перенаправляется на соответствующий сайт. Есть ли способ в ASP.NET определить, какой домен был запрошен, чтобы узнать, куда перенаправить страницу?

+0

У вас есть отдельные IP-адреса для каждого сайта, который вы хотите разместить? – cfeduke 2008-11-09 01:37:41

ответ

2

Вот один из способов сделать это (как рекомендовано 1and1.com, если вы размещаете несколько доменов). Поместите это в корень вашего веб-пространства. Все ваши веб-сайты укажут на этот корень. Нижеприведенный скрипт отправит запросы в соответствующую подпапку. Это своего рода взлом, но если у вас нет полного контроля над настройками IIS, это будет работать.

Имя этого файла default.asp:

<%EnableSessionState=False 

host = Request.ServerVariables("HTTP_HOST") 

if host = "website1.com" or host = "www.website1.com" then 
response.redirect("http://website1.com/website1/default.aspx") 

elseif host = "website2.com" or host = "www.website2.com" then 
response.redirect("http://website2.com/website2/default.aspx") 

else 
response.redirect("http://website1.com/") 

end if 
%> 
1

Из asp.net кода вы можете получить доступ к хост из запроса объекта:

if(Request.Url.Authority == "www.site1.com") 
    Response.Redirect(...); 

Если у вас есть доступ к серверу IIS вы также можете настроить два сайта с разными именами связывания хоста и имеют каждый перенаправлять как тебе нравится.

Смежные вопросы