Перезапись URL в общую конечную точку - PullRequest
1 голос
/ 10 июня 2010

Я хочу создать сайт white-label asp.net http://whitelabel.com, который можно было бы стилизовать для каждого из наших клиентов в соответствии с их конкретными потребностями.Так, например, клиент abc будет видеть сайт в своих корпоративных цветах и ​​будет доступен через их конкретный URL http://abc.com.Аналогично, клиент xyz будет видеть сайт в своем собственном стиле и URL http://xyz.com.

В результате ввода любого URL-адреса пользователь фактически переходит на http://whitelabel.com, где применяется стиль, и структура URL-адреса клиента сохраняется.

Я думал о переписывании URL-адреса с использованием URLRewriter.Net (http://urlrewriter.net/), или аналогичного, сопоставление входящего адреса с идентификатором клиента и применение темы соответствующим образом. Таким образом, правило перезаписи URL-адреса может быть примерно таким:

<rewrite url="http//abc.com/(.+)" to="~/$1?id=1" />

<rewrite url="http//xyz.com/(.+)" to="~/$1?id=2" />

Затем я могу прочитать идентификатор, сопоставить его с клиентом и, немного поигровав, покрутить правильную тему.

Мне было интересно, если:

  1. это правильный подход?
  2. Я что-то упустил?
  3. есть лучший способсделать это?

Любые предложения будут оценены.

Ответы [ 3 ]

1 голос
/ 10 июня 2010

Вы можете иметь несколько доменов, работающих на одном сайте iis, каждый с разными темами. Вам даже не нужно переписывать URL.

Мы указываем разные домены на один и тот же сайт, используя заголовки узлов, затем проверяем имя узла ...

HttpContext.Current.Request.Url.Host

... в событии OnPreInit в нашем классе базовой страницы. На основе имени хоста мы устанавливаем тему страницы, в которой все CSS и пользовательские изображения установлены в App_Themes

Ссылка на информацию по настройке темы программно: http://msdn.microsoft.com/en-us/library/tx35bd89.aspx?PHPSESSID=8415f84585668e69ce791db4abfd0c45

0 голосов
/ 10 июня 2010

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

0 голосов
/ 10 июня 2010

Я видел сайты, работающие таким образом (общая кодовая база, несколько тематических сайтов), но мой опыт был с PHP.Код просматривает реферер страницы, чтобы определить, откуда пришел пользователь, и создает правильную страницу.

Отображение и маскирование домена зависит от используемого хоста ...

ОднакоПохоже, URLRewriter будет работать для вас, если вы используете ASP, поскольку он будет обрабатывать маскировку домена, на котором вы находитесь.

...