用户
 找回密码
 入住 CI 中国社区
搜索
12
返回列表 发新帖
楼主: jimboy
收起左侧

[服务器] 关于一个ci框架程序里如何支持多个域名?

[复制链接]
发表于 2009-12-8 16:21:29 | 显示全部楼层
在Apache的配置文件里,建立基于域名的多个虚拟主机。
http://lamp.linux.gov.cn/Apache/ApacheMenu/vhosts/name-based.html
发表于 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控制器目录
 
复制代码

评分

参与人数 1威望 +5 收起 理由
Hex + 5 原创内容

查看全部评分

发表于 2012-2-5 16:05:09 | 显示全部楼层
继续观摩...

本版积分规则