最近在做项目时,需求上要求为项目加子域名。例:默认访问 www.a.com 现在需要使用 b.a.com 同样能够访问
子域名绑定后,访问情况如下:
此问题是因为子域名不知道访问哪个“控制器”所导致的。
到了这里后,我们就考虑给其指定访问“控制器”,于是在“main.php”里做了以下配置,YII模块实现绑定二级域名
做了此设置后,终于子域名能够正常的访问。
- 'urlManager'=>array(
- 'urlFormat'=>'path',
- 'showScriptName' => false,
- 'rules’=>array(
- 'http://<_m:(www|b)>.a.com<_q:.*>/*'=>'<_m><_q>',
- )
- ),
![大笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
可是。。。。。。。。。。。。。。。
为什么里边的内容是空的呢
经过检查,终于找到问题了。。。。
发现了一个很坑的问题,按照上边的方法,在此子域名下的子连接是访问不了的,所以继续研究。。。
想了一个办法,将项目里的所有子链接强制转到“www.a.com” 下,嘿嘿数据能够读取出来了,可是不能显示在页面上,因为是跨域名,如果需要显示的话需要全部改为“JSONP”工作量太大不划算,所以放弃了此方法。
接着继续,发现一个特简单的方法,将需要访问的“控制器”设为“默认控制器”,在“main.php”里加入配置
'defaultController'=>"ss",//ss 是需要访问的控制器名
哈哈。。。。。。。。。。
经过测试一切正常了
当然,如果各位还有其它更好的方法,欢迎分享。。。。。。。。