|
发表于 2011-12-5 16:18:44
|
显示全部楼层
本帖最后由 qi_ruo 于 2011-12-5 16:58 编辑
1 hosts文件
PHP复制代码 127.0.0.1 example.com
127.0.0.1 car.example.com
127.0.0.1 moto.example.com 复制代码
2 虚拟主机
PHP复制代码 <VirtualHost *:80>
DocumentRoot "D:/www/example"
ServerName example.com
ServerAlias *.example.com
</VirtualHost> 复制代码
3 如果使用手册上的方法,即把各个子站放在application目录,如application/main, application/car, application/moto...修改index.php
把
PHP复制代码 $application_folder = 'application'; 复制代码
修改为
PHP复制代码 switch($_SERVER['HTTP_HOST'])
{
case 'car.example.com':
$application_folder = 'application/car';
break;
case 'moto.example.com':
$application_folder = 'application/moto';
break;
default:
$application_folder = 'application/main';
} 复制代码
4 你说的第二种方法即建立与system同级的文件夹作为各个应用的主目录,与上面的方法没有什么不同,只需要对应修改$application_folder变量即可。
5 公共的文件如library, helper, model等,如果新建一个目录存放,不太好调用,估计要修改核心文件才行,我觉得不如放在system目录下面,虽然不优雅,也不失为一种解决的办法,不知大家有什么好办法没有。
6 Session
如果要使各子站共享Session,需要做如下设置:
1) 各个应用下的config.php中的$config['encryption_key']需要相同
2) 各个应用下的config.php中的$config['cookie_domain'] = ".example.com";
7 Cookie
如果要使各子站共享Cookie,在设置Cookie变量的时候需要指定cookie_domain
PHP复制代码 $cookie = array(
'name' => 'somevar',
'value' => 'somevalue',
'expire' => '86500',
'domain' => '.example.com',
'path' => '/'
);
$this->input->set_cookie($cookie);
//echo $this->input->cookie('somevar'); 复制代码
最后 如果LZ各个应用关联比较紧的话,建议还是写在一个应用里然后用htaccess重写路由,这样比较好!
|
|