Задать вопрос

Как осуществить маршрутизацию поддоменов в Yii?

Суть в следующем:
Есть три модуля:
backend
promo
mobile

Модуль mobile открывает конкретный сайт по GET-параметру "link"
Хочется этот параметр (link) сделать поддоменом, т.е, чтобы по ссылке test.example.com открывался example.com/mobile/default/index/link/test и т.д (test.example.com/profile -> example.com/mobile/profile/index/link/test), но при этом backend и promo продолжали работать со стандартными правилами yii/

На данный момент было сделано такое решение в конфиге:
'urlManager' => array(
   'urlFormat'      => 'path',
   'showScriptName' => false,
      'rules' => array(
    '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
    'http://www.example.com' => '/',
    'http://<link:\w+>.example.com'                                        => 'mobile/default/index/',
    'http://<link:\w+>.example.com/<controller:\w+>/<action:\w+>/<id:\d+>' => 'mobile/<controller>/<action>',
    'http://<link:\w+>.example.com/<controller:\w+>/<action:\w+>'          => 'mobile/<controller>/<action>',
    'http://<link:\w+>.example.com/<controller:\w+>'                       => 'mobile/<controller>/index',
    'http://<link:\w+>.example.com/mobile/<controller:\w+>/<action:\w+>'   => 'mobile/<controller>/<action>',
')


Однако, в данном решении меня не устраивает то, что при создании адреса внутри модуля mobile вида $this->createUrl('/mobile/profile/index')
получается адрес link.example.com/mobile/profile/index

Можно ли как-то избавиться от слова "mobile" в линках? Потому что сейчас url'ы вида link.example.com/profile/index тоже работают, но не генерируются.
  • Вопрос задан
  • 3953 просмотра
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы