Поддомены
Несмотря на то, что поисковые системы не слишком жалуют сайт, разделы которого расположены на поддоменах, а также в силу эстетических соображений, многие веб-мастеры используют (или мечтают использовать) их на своих проектах.
Чтобы использовать поддомены с cogear, вам необходимо иметь DNS-запись вида "*", указывающую на IP-адреса вашего сервера. Таким образом запрос на любые поддомены будут отправлены к cogear.
Чтобы использовать поддомены с cogear, вам необходимо иметь DNS-запись вида "*", указывающую на IP-адреса вашего сервера. Таким образом запрос на любые поддомены будут отправлены к cogear.
Внимание! Запрос на поддомен транслируется в обычный запрос внтури роутера.
http://user.cogear.ru/admin/ => http://cogear.ru/user/admin/
; /gears/global/global.info
...
subdomains = TRUE; Включаем поддомены
...
...
; Файл конфигурации любой шестеренки
; Использует поддомен совпадающий с названием шестеренки
subdomain = TRUE;
; Использует поддомены указанные явно
subdomain[] = user
subdomain[] = users
...
;Дополним нужный запрос путями
routes[] = 'users(.*) = user/list$1'Внимание! Вы можете использовать поддомены для блогов/сообществ и всего что захотите. Для этого необходимо указать особый путь роутера в файле конфигурации шестеренки.
routes[] = "% = community"
; отправляет все не зарезервированные поддомены на главный контроллер community
; news.cogear.ru/123-post.html => cogear.ru/community/news/123-post.htmlПри этом другие поддомены, определенные явно, будут работать. Это стоит учитывать при предоставлении возможности пользователю работать с поддоменами (например, при создании сообществ), проверяя массив переменной роутера «subdomains».Асинхронные запросы
Поскольку AJAX-запросы между поддоменами сайта запрещены, мы нашли простой выход из ситуации. При использовании поддомена первым элементом пути запрос указывайте ajax, перенаправляя запрос по нужном адресу.http://mail.cogear.ru/ => http://cogear.ru/user/check/ — такой запрос не пройдет.
http://mail.cogear.ru/ => http://mail.cogear.ru/ajax/user/check/ — правильный запрос. Будет перенаправлен по нужному адресу.
