Допустим, у меня есть сайт под названием http://mysite.dev
Так что URL-адреса некоторых страниц будут ниже.
Домашняя страница: http://mysite.dev или же http://mysite.dev/site/index или же http://mysite.dev/home
(сайт / индекс был перенаправлен на дом)
Редактировать профиль: http://mysite.dev/user/edit или же http://mysite.dev/edit-profile
(пользователь / правка была перенаправлена в правку профиля)
Панель администратора: http://mysite.dev/admin/ или же http://mysite.dev/admin/index
Admin Просмотр пользователей: http://mysite.dev/admin/users или же http://mysite.dev/admin/users/index
Администратор Редактировать пользователя: http://mysite.dev/admin/users/edit/1
Итак, в основном мой шаблон URL, как показано ниже.
http://mysite.dev/{Модуль} / {контроллер} / {действие} / {PARAMS}
При сохранении основного сайта, как указано выше, мне нужны вспомогательные веб-сайты (микро-сайты), которые будут иметь одинаковый логин на основном сайте.
Таким образом, шаблон URL будет таким, как показано ниже.
http://mysite.dev/{Микросайт} / {модуль} / {контроллер} / {действие} / {PARAMS}
(«Микросайт пуст» означает, что он является основным веб-сайтом. Не будет никакого каталога, представляющего микросайт, поскольку это просто ссылка в качестве имени.)
Это означает, что у этого микросайта не будет подкаталогов, поскольку имя микросайта будет динамическим.
Как я могу реализовать этот шаблон URL, используя .htaccess или URL маршрутизации для разработки этого динамического микросайта.
Спасибо!
Хорошо, я думаю, что у меня есть голова вокруг этого!
Во-первых, вам нужно организовать основной сайт и каждый микросайт в свои собственные подкаталоги (для контроллеров, моделей, видов и т. Д.), Например:
application/controllers/main_site/module/etc
application/controllers/micro_one/module/etc
application/controllers/micro_two/module/etc
Затем внутри папки маршрутов вы сделаете что-то похожее на следующий псевдокод:
Create array of microsite names (maybe get these from database)
Get the first URI segment
If URI segment is in microsites array
$route['home'] = "{uri_segment/microsite_name}/module/controller";
else
$route['home'] = "main_site/module/controller";
Так, например, ваш массив микросайтов может быть:
array('micro_one', 'micro_two')
Тогда URL http://mysite.dev/micro_one/home будет направлять в
$route['home'] = "micro_one/home/index";
Я надеюсь, что я объяснил это достаточно для того, чтобы вы начали свой проект!
Других решений пока нет …