|
发表于 2009-12-8 16:56:14
|
显示全部楼层
我在写自己的框架的时候就遇见过这个情况,后来我用获取HOST来区分MVC三层文件夹来解决的,我现在支持两个完全不同的域名
www.sailulu.cn
www.wxsdsports.com
这两个网站用的同一个框架,只不过sailulu调用的是根目录的视图模式和控制器
而wxsdsports的视图模式控制器我放在wxsdsports目录
那么这样在设置base_url和base_view base_model.......的时候就采用动态的
首先获取host
从而得到域名
接着赋值给几个路径变量就行了 这么说也不太明白 我把我的配置文件贴一下 不是CI 是我自己的框架
你可以根据这个思路改改
PHP复制代码
<?php
!defined('BASE_ROOT') && exit ( 'Access Denied!' );
$config = array();
// 一般设置
$config['Common']['UrlReWrite'] = false; //是否开启urlrewrite
$config['Common']['CharSet'] = 'UTF-8'; //文档编码
$config['Common']['TimeZone'] = 'Asia/Chongqing'; //时区
$config['Common']['AutoFilter'] = true; //是否进行自动对POST.GET.COOKIE进行过滤
$config['Common']['gzip'] = false; //是否启用gzip页面压缩
$config['Common']['debug'] = false; //是否开启页面报错
$config['Common']['UrlHtml'] = true; //是否开启伪静态
$config['Common']['siteoff'] = false; //是否关闭网站
// 数据库设置
$config['DataBase']['host'] = 'localhost'; //数据库主机地址
$config['DataBase']['user'] = 'root'; //数据库连接账户名
$config['DataBase']['passwd'] = 'root'; //数据库连接密码
$config['DataBase']['dbname'] = 'dbname'; //数据库名
$config['DataBase']['prefix'] = 'fix_'; //数据库前缀
$domain = explode('.',str_ireplace('www.', '', $_SERVER['HTTP_HOST']));
switch($domain[0]){
case 'sailulu':
define ('BASE_SITE', '');//设置网站视图控制器模式目录
$config['DataBase']['prefix'] = 'sll_'; //数据库前缀
break;
case 'wxsdsports':
define ('BASE_SITE', $domain[0].'/');//设置网站视图控制器模式目录
$config['DataBase']['prefix'] = 'wxsd_'; //数据库前缀
break;
default :
define ('BASE_SITE', '');//设置网站视图控制器模式目录
$config['DataBase']['prefix'] = 'sll_'; //数据库前缀
}
define ('DIR_ROOT', str_ireplace('Index.php', '', $_SERVER['SCRIPT_NAME']));
define ('BASE_URL', DIR_ROOT . ($config['Common']['UrlReWrite'] ? '' : 'index.php/')); //设置绝对URL
define ('BASE_VIEW', DIR_ROOT . 'View/' . BASE_SITE ); //设置视图目录
define ('BASE_VIEW_ROOT', BASE_ROOT . 'View/' . BASE_SITE ); //视图绝对目录
define ('BASE_LIB', BASE_ROOT . 'Lib/'); //设置lib库目录
define ('BASE_MODEL', BASE_ROOT . 'Model/' . BASE_SITE ); //设置Model模式目录
define ('BASE_PLUGIN', BASE_ROOT . 'Plugin/'); //设置Plugin插件目录
define ('BASE_CONTROLLER', BASE_ROOT . 'Controller/' . BASE_SITE ); //设置Controller控制器目录
复制代码 |
评分
-
查看全部评分
|