一站多城市路由配置技巧及二级域名部署技巧

浏览:1888 发布日期:2014/04/14 分类:技术分享 关键字: 路由配置 二级域名部署
很多类似于58同城,饿了么这样的应用涉及一站多城市,为每一个城市建立一个控制器是不现实的,所以考虑将城市名作为GET参数传入,但是希望URL格式是这样的:www.domain.com/city/Controller/Action也即把city参数提到Controller、Action之前,废话不多说,直接上路由配置(Home是默认模块)'URL_ROUTE_RULES'=> array(
':city^Index-Public-User-detail$' => 'Home',
':city^Index-Public-User-detail/:c$' => 'Home',
':city^Index-Public-User-detail/:c/:a' => 'Home',//city作为get参数,注意这里排除了控制器名(以及后面定义的路由规则,避免冲突),如果一级目录不是城市,即直接为正常路由
'detail/:id\d$'    => 'User/detail',//其它路由规则
),
二级域名部署也是同样的道理,要实现这样的URL格式:city.domain.com/Controller/Action子域名配置如下:'APP_SUB_DOMAIN_DEPLOY'=>1, // 开启子域名配置

/*子域名配置

*格式如: '子域名'=>array('分组名/[模块名]','var1=a&var2=b');

*/

'APP_SUB_DOMAIN_RULES'=>array(

'beijing'=>array('Home/','city=beijing'),  // city作为一个get参数,指明城市,对应beijing.domain.com

'hangzhou'=>array('Home/','city=hangzhou'),  // city作为一个get参数,指明城市,对应hangzhou.domain.com

)
更多废话可以看这篇博文:http://www.peimin.cn/?p=168
最佳答案
评论( 相关
后面还有条评论,点击查看>>