powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / windows azure. и динамические имена доменов третьего уровня
17 сообщений из 17, страница 1 из 1
windows azure. и динамические имена доменов третьего уровня
    #38250923
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дорого вечера! мож кто сталкивался или размышлял...
есть ui-веб роль. хостимся как положено на cloudapp.net. к ней привязано доменное имя, типа blablabla.ru. хочу отдельным сущностям (некие аккаунты) при регистрации выделять отдельные имена типа acc1.blablabla.ru. как такое провернуть на практике вообще не нашел. только размышления теоретические.
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38250934
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeev,

вопрос недавно поднимался http://www.sql.ru/forum/1014486/asp-net-mvc-dinamicheskiy-routing
на счет решения, ну посмотрим, может кто-то еще что-нибудь добавит
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38250957
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

не совсем... том речь о роутинге , а этот вопрос я уже даано решил для себя одним из способов, который там упомянут как бы в том числе... мне нужен именно домен третьего уровня на windows azure хостинге. ну типа - есть клиент, так получай свой домен...
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38273700
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeev,

одну проблему решил, появилась вторая... как пробросить сессию при переходе к субдоменам домена. задание домена для ASP.NET_SessionId как тут как-то вообще не помогает...
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38273978
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeev,

странно, должно работать. может что-то упустили?
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38274039
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

да вроде нет. сделал сейчас в чистом проекте с нуля для тестов, тож не работает... один черт кука теряется и в новую сессию прыгает. впрочем старая то остается, поэтому для меня пока не критично, так как субдомены все равно для анонимусов, но что-то все равно не пойму...
интересно, нет ли каких ограничений для имен доменов для таких случаев?
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38274490
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел на одном из форумов такое:

"1. Если вы задаете Домен куки (Cookie Domain), то в нем не пишется www. Кроме того, в этом параметре должно быть как минимум две точки. Если в существующем имени содержится только одна точка, необходимо поставить еще одну прямо перед именем домена.
2. В Пути куки (Cookie Path) слеш пишется только в начале.
3. В Имени куки (Cookie Name) не может быть пробелов и точек."

Странно, но похоже первый пункт помог ). Хотя еще есть нерешенные вопросы.
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38275133
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeev,

вчера хотел по первому пункту написать... но по приведенной вами ссылке об этом написано. решил не повторяться :)
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38275489
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

да прочитал через строку, как обычно.
и так, практически все получилось - отдельный контроллер работает со страничками отдельных пользователей, которые доступны по указанию доменов третьего уровня. заодно сделал склейку с www основного домена.
вопрос немного не по теме, но раз уж адресов коснулся - я так понимаю адреса для поисковика регистрозависимы. для seo вроде нехорошо. как бороться лучше? просто выдавать 301-й редирект на адрес в нужном регистре?
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38275510
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeev,

Код: xml
1.
2.
3.
4.
5.
6.
7.
        <rule name="SEO" stopProcessing="true">
          <match url=".*" ignoreCase="false" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^mydomain\.ru$" negate="true" />
          </conditions>
          <action type="Redirect" url="http://mydomain.ru/{R:0}" redirectType="Permanent" />
        </rule>



1. отрежет www
2. если у вас есть синонимы домена, сделает редирект на главное зеркало
3. (ignoreCase) сделает редирект на главное зеркало в нужном регистре, если неправильный case

это что касается домена.

что касается пути адреса после домена, даже не стоит заморачиваться.
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38275989
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

у меня основной сайт с www )), поэтому вот так можно

Код: xml
1.
2.
3.
4.
5.
6.
7.
<rule name="Canonical host name" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
          <add input="{HTTP_HOST}" pattern="^www\.mydomain\.ru$" negate="true" />
        </conditions>
        <action type="Redirect" redirectType="Permanent" url="http://www.mydomain.ru/{R:1}" />
      </rule>



но ведь это убьет мои субдомены?

поэтому таким реврайтом не делал, а делал через MvcRouteHandler. не знаю, мож и неправильно, но вроде работает как раз таки хорошо - если нет www то 301-редирект на www. а если вместо www правильное имя субдомена клиента, то определение правильного маршрута на нужный контроллер. в том же хэндлере проверяю наличие имени культуры после имени домена и точно так же переадресую на "ru", если ее нет. получается что "www.mydomain.ru/ru" у меня открывается по умолчанию, как бы не указал адрес, а можно "www.mydomain.ru/en", "client1.mydomain.ru/ru", "client1.mydomain.ru/en". в принципе удобно получилось...

но вот по регистру символов все же не согласен. все же сделал реврайты такие для удаления ненужного слэша и приведения к нижнему регистру:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
        <rule name="RemoveTrailingSlash" stopProcessing="true">
          <match url="(.*)/$" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Redirect" redirectType="Permanent" url="{R:1}" />
        </rule>

        <rule name="LowerCaseURL" stopProcessing="true">
          <match url=".*[A-Z].*" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_URI}" pattern="^/umbraco/" negate="true" />
            <add input="{URL}" pattern="^.*\.(axd|asmx|css|js|jpg|jpeg|png|gif|mp3)$" negate="true" ignoreCase="true" />
            <add input="{URL}" pattern="cdv=1" negate="true" />
          </conditions>
          <action type="Redirect" redirectType="Permanent" url="{ToLower:{URL}}" />
        </rule>
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38276038
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в принципе здесь есть ответы на большинство вопросов по seo-реврайту...
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38276537
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кто еще такое делать будет, на всякий случай:
1) не забываем что SetAuthCookie не устанавливает домен, его надо добавить к куке врукопашную. я делал так:
Код: c#
1.
2.
3.
4.
FormsAuthentication.SetAuthCookie(UserName, RememberMe);
                ...
                System.Web.HttpCookie MyCookie = System.Web.Security.FormsAuthentication.GetAuthCookie(model.UserName, model.RememberMe);
                Response.Cookies[MyCookie.Name].Domain = ".MyDomain.ru"; //the second level domain name



2) Раз уж привожу адреса к нижнему регистру по способу выше, то типовые хелперы, типа Html.ActionLink лучше думаю переписать, иначе слишком много будет 301-х редиректов. браузер конечно их кэширует, но не уверен что поисковика понравится что каждая ссылка редиректится ))
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38277049
evgen12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_titeeva_titeev,

одну проблему решил, появилась вторая... как пробросить сессию при переходе к субдоменам домена. задание домена для ASP.NET_SessionId как тут как-то вообще не помогает...

Как решили - поделитесь?
Спасибо.
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38277265
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen12345a_titeeva_titeev,

одну проблему решил, появилась вторая... как пробросить сессию при переходе к субдоменам домена. задание домена для ASP.NET_SessionId как тут как-то вообще не помогает...

Как решили - поделитесь?
Спасибо. чем конкретно? если о субдоменах, то вкратце уже описал выше - делал через MvcRouteHandler. смотрю субдомен в имени. если его нет www то 301-редирект на www. а если вместо www правильное имя субдомена клиента, то определение правильного маршрута на нужный мне контроллер. контроллер такой один всего, поэтому особых проблем нет.
хэндлер примерно так выглядит:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
     public class SiteUrlRouteHandler : MvcRouteHandler
     {
       protected override IHttpHandler GetHttpHandler(RequestContext requestContext)
       {
          //... здесь вообще чего угодно делаем с маршрутами, адресами, контроллерами и т.п.

          return base.GetHttpHandler(requestContext);
       }
     }



цепляется как-то так:

Код: c#
1.
2.
3.
4.
5.
            context.MapRoute(
                name: "Default_default",
                url: "{controller}/{action}/{id}",
                defaults: new { area = "Default", controller = "Home", action = "Index", id = UrlParameter.Optional },
            ).Rou

teHandler = new SiteUrlRouteHandler();

не знаю, мож можно было как-то и поканоничнее, но пока работает )). если кто подскажет как правильно, буду только рад...
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38277275
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
упс, последний кусок уехал. он такой:

Код: c#
1.
2.
3.
4.
5.
context.MapRoute(
                name: "Default_default",
                url: "{controller}/{action}/{id}",
                defaults: new { area = "Default", controller = "Home", action = "Index", id = UrlParameter.Optional },
            ).RouteHandler = new SiteUrlRouteHandler();
...
Рейтинг: 0 / 0
windows azure. и динамические имена доменов третьего уровня
    #38291667
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дополню еще... все это оказалось полной фигней с точки зрения seo. концепция поменялась. выносить отдельные страницы клиентов на субдомены - просто зря терять плюшки от поисковиков. все переделал просто выделив отдельную область и переадресовав на один контроллер все обращения по нужным адресам... )))
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / windows azure. и динамические имена доменов третьего уровня
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]