|
具体情况是这样的
用CI做的网站,是给多个地区使用,每个地区的网站用不同的数据库,但数据库里的结构完全一样,也就只是说,把同一个数据库复制一份,只是给数据库改了个名字而已,就变成了两个数据库,如两个数据库名分别叫:db_beijing和db_shanghai,而且这两个数据库也是在同一台服务器上
比如,当用 beijing.abc.com 访问网站时 和用 shanghai.ab.com 访问网站时,他们都是访问同一个控制器文件、同一个视图,同一个模型,只有连接的数据库不同,
beijing.abc.com 连接到 db_beijing 这个数据库上
shanghai.abc.com 连接到 db_shanghai 这个数据库上
但因为他们功能什么的都完全一样,所以不想复制出多份程序,只想用一份,这样的话,以后升级维护时,只用修改一次文件 这所有地区的网站都升级了,比如方便
我想的是 通过检测,得到访问网站的域名,然后根据这个域名,改变数据库配置的数据库名,这样就能轻松实现了
比如 当检测到是 beijing.abc.com 访问本站时,把数据库配置里的 $db['default']['database'] 的值赋成 'db_beijing'
比如 当检测到是shanghai.abc.com 访问本站时,把数据库配置里的 $db['default']['database'] 的值赋成 'db_shanghai'
其他所有东西都完全不必修改,就可实现我想要的功能
但具体怎样在整个系统中检测这个访问过来的域名,检测出来域名后,又是怎么改变数据库的配置,把【数据库名】这一样改成对应的数据库名,这点我不知道怎么做
麻烦各位老师 朋友 帮助指点一下,成分感激!!
谢谢!!!
|
|