假设我有一个名为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
所以,基本上我的url模式如下。
http://mysite.dev/{module}/{controller}/}action}/{params}
我需要什么:
在保持主网站如上所述的同时,我需要有子网站(微网站(,它们将在主网站中共享相同的登录名。
因此,url模式如下所示。
http://mysite.dev/{microsite}/{module}/}controller}/action}/{params}
(微型网站为空意味着它是主网站。由于它只是一个名称参考,因此不会有任何目录来代表微型网站。(
这意味着,这个微型网站将没有子目录,因为它的微型网站名称将是动态的。
我需要知道的是:
我如何使用.htaccess或url路由来实现这种url模式来开发这种动态微型网站。
非常感谢。
好吧,我想我已经想好了!
首先,您需要将主站点和每个微型站点组织到各自的子目录中(用于控制器、模型、视图等(,例如:
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')
然后URLhttp://mysite.dev/micro_one/home将路由到
$route['home'] = "micro_one/home/index";
我希望我已经解释了足够多,让你开始你的项目!