Обслуживание разных страниц как разных доменных имен в IIS (6 или 7) - PullRequest
1 голос
/ 19 июня 2009

У меня есть приложение ASP.Net MVC, которое обслуживает пользовательские страницы с URL-адресами вроде -

www.myapp.com / пользователь / грабят / индекс
www.myapp.com/user/rob/article/1

и

www.myapp.com / пользователь / Скот / индекс
www.myapp.com/user/scott/article/1

теперь я хочу, чтобы это одно приложение обслуживало страницы для двух разных доменов извне. Нравится -

www.RobWebSite.com / Индекс
www.RobWebSite.com/article/1

www.scottBlogSiteNoOne.com / Индекс
www.ScottBlogSiteNoOne.com/article/1

какие настройки / перенаправления / прокси мне нужно будет настроить, чтобы при вводе пользователем опубликованного доменного имени (www.RobWebSite.com) оно переводилось внутри моего приложения как (www.myapp.com/user/rob/) , Я хочу сохранить URL-адрес в браузере таким же, как они вводили, в то время как параметры строки запроса меняются.

Спасибо и всего наилучшего,
Аджай

Ответы [ 2 ]

2 голосов
/ 19 июня 2009

Доменному имени каждого пользователя потребуется запись CNAME в их DNS, указывающая на myapp.com. (Google использует записи CNAME для указания пользовательских доменных имен в блогах Blogger.com, так что это хороший способ.)

Затем вашему коду необходимо просмотреть объект Request, чтобы определить, какое доменное имя используется, и выполнить поиск, чтобы определить, к какому пользователю принадлежит домен. Это не будет переводить на myapp.com/user/name/. Он будет использовать доменное имя для определения пользователя вместо разбора маршрута, который вы обычно делаете с MVC.

Я не уверен на 100%, что объект Request даст вам правильное доменное имя. Вам придется попробовать это.

0 голосов
/ 20 июня 2009

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

...