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

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

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

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

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

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

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

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

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

да прочитал через строку, как обычно.
и так, практически все получилось - отдельный контроллер работает со страничками отдельных пользователей, которые доступны по указанию доменов третьего уровня. заодно сделал склейку с www основного домена.
вопрос немного не по теме, но раз уж адресов коснулся - я так понимаю адреса для поисковика регистрозависимы. для seo вроде нехорошо. как бороться лучше? просто выдавать 301-й редирект на адрес в нужном регистре?
...
Рейтинг: 0 / 0
27.05.2013, 21:17
    #38275510
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
windows azure. и динамические имена доменов третьего уровня
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
28.05.2013, 10:42
    #38275989
a_titeev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
windows azure. и динамические имена доменов третьего уровня
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
28.05.2013, 11:02
    #38276038
a_titeev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
windows azure. и динамические имена доменов третьего уровня
в принципе здесь есть ответы на большинство вопросов по seo-реврайту...
...
Рейтинг: 0 / 0
28.05.2013, 13:51
    #38276537
a_titeev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
windows azure. и динамические имена доменов третьего уровня
кто еще такое делать будет, на всякий случай:
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
28.05.2013, 16:51
    #38277049
evgen12345
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
windows azure. и динамические имена доменов третьего уровня
a_titeeva_titeev,

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

Как решили - поделитесь?
Спасибо.
...
Рейтинг: 0 / 0
28.05.2013, 18:18
    #38277265
a_titeev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
windows azure. и динамические имена доменов третьего уровня
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
28.05.2013, 18:20
    #38277275
a_titeev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
windows azure. и динамические имена доменов третьего уровня
упс, последний кусок уехал. он такой:

Код: 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
09.06.2013, 13:40
    #38291667
a_titeev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
windows azure. и динамические имена доменов третьего уровня
дополню еще... все это оказалось полной фигней с точки зрения seo. концепция поменялась. выносить отдельные страницы клиентов на субдомены - просто зря терять плюшки от поисковиков. все переделал просто выделив отдельную область и переадресовав на один контроллер все обращения по нужным адресам... )))
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / windows azure. и динамические имена доменов третьего уровня / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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