假设我有一个名为http://mysite.dev的网站
因此,某些页面的网址将在下方。
主页: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
管理员查看用户:http://mysite.dev/admin/users或http://mysite.dev/admin/users/index
管理员编辑用户:http://mysite.dev/admin/users/edit/1
所以,基本上我的网址模式如下所示。
http://mysite.dev/ {模块} / {控制器} / {行动} / {PARAMS}
在保持主站点的同时,我需要有子网站(微型网站),它们将在主站点共享相同的登录信息。
这样,网址格式如下所示。
http://mysite.dev/ {微型} / {模块} / {控制器} / {行动} / {PARAMS}
(微型网站是空的意味着它是主网站。没有任何目录可以代表微型网站,因为它只是一个名称参考。)
这意味着,这个微型网站不会有子目录,因为它的微型网站名称将是动态的。
如何使用.htaccess或url路由来开发此动态微型网站来实现该网址模式。
谢谢!
答案 0 :(得分:1)
好吧,我想我已经抓住了这个!
首先,您需要将主站点和每个微型网站组织到他们自己的子目录中(用于控制器,模型,视图等),例如:
application/controllers/main_site/module/etc
application/controllers/micro_one/module/etc
application/controllers/micro_two/module/etc
然后在routes文件夹中,您将执行类似于以下伪代码的操作:
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')
然后网址http://mysite.dev/micro_one/home将路由到
$route['home'] = "micro_one/home/index";
我希望我已经解释了这个,足以让你开始你的项目!