HMVC模块绑定子域名
在入口文件里面我们可以看到下面的配置:
/* hvmc模块域名绑定
* 1.子域名绑定
* domains的键是二级开始的域,不包含顶级域名.
* 比如顶级域名是test.com,这里的domains的键是demo代表demo.test.com
* 再比如domains的键是i.user代表i.user.test.com
* isFullDomain这里设置为false.
* 2.完整域名绑定
* domains的键是完整的域名,比如demo.com,
* isFullDomain这里设置为true.
* 配置项介绍:
* 0.最外层的enable是总开关.
* 1.hmvcModuleName是域名要绑定的hmvc模块名称,
* 也就是对应着上面的setHmvcModules()注册的关联数组中的"键"名称.
* 2.demo下面的enable是单个域名绑定是否启用.
* 3.domainOnly是否只能通过绑定的域名访问hvmc模块.
* 4.绑定完整的域名isFullDomain这里设置为true.
* 绑定子域名isFullDomain这里设置为false.
*/
->setHmvcDomains(array(
'enable' => false, //总开关,是否启用
'domains' => array(
'demo' => array(
'hmvcModuleName' => 'Demo', //hvmc模块名称
'enable' => false, //单个开关,是否启用
'domainOnly' => true, //是否只能通过绑定的域名访问
'isFullDomain' => false//绑定完整的域名设置为true;绑定子域名设置为false
)
)
))
上面的配置就是定义子域名和hmvc模块的绑定关系,如果需要配置多个域名绑定,在domains下面增加多个配置数组即可.
提示:
假设当前访问的网站顶级域名是test.com。
绑定设置如下:
->setHmvcDomains(array(
'enable' => true,
'domains' => array(
'demo' => array(
'hmvcModuleName' => 'Demo',
'enable' => true,
'domainOnly' => true,
'isFullDomain' => false
),
'i.u' => array(
'hmvcModuleName' => 'User',
'enable' => true,
'domainOnly' => true,
'isFullDomain' => false
),
'news.com' => array(
'hmvcModuleName' => 'News',
'enable' => true,
'domainOnly' => true,
'isFullDomain' => true
),
)
))
当我们的hvmc模块绑定了子域名之后,绑定前后的访问方式如下:
1.访问 Demo hmvc模块的控制器Welcome的index方法
绑定前:http://test.com/index.php/Demo/Welcome/index.do
绑定后:http://demo.test.com/index.php/Welcome/index.do
2.访问 User hmvc模块的控制器Welcome的index方法
绑定前:http://test.com/index.php/User/Welcome/index.do
绑定后:http://i.u.test.com/index.php/Welcome/index.do
3.访问 News hmvc模块的控制器Welcome的index方法
绑定前:http://test.com/index.php/News/Welcome/index.do
绑定后:http://news.com/index.php/Welcome/index.do