试试这个:
例如:
- subdomain1.hostname.com
- subdomain2.hostname.com
然后在我的前面索引:
// Host address
$host = $_SERVER['HTTP_HOST'];
$SERVER_NAME = $_SERVER['SERVER_NAME'];
define('HOST', $SERVER_NAME);
// Extract eventual subdomain
$host3 = strrpos($host, '.');
$host2 = substr($host, 0, $host3);
$host1 = strrpos($host2, '.');
$subdomain = substr($host, 0, $host1);
if($host == 'localhost') {
define('HOST_TYPE', 'localhost');
define('SUBDOMAIN', FALSE);
} else {
if($subdomain !== 'www' && $subdomain !== '') {
define('HOST_TYPE', 'subdomain');
define('SUBDOMAIN', $subdomain);
} else {
define('HOST_TYPE', 'site');
define('SUBDOMAIN', FALSE);
}
}
在我的 config.php 配置中:
switch (HOST_TYPE) {
case 'subdomain':
$config['base_url'] = 'http://'.SUBDOMAIN.'.hostname.com/';
break;
case 'localhost':
$config['base_url'] = 'http://localhost/devpage/';
break;
default:
//$config['base_url'] = 'http://mainpage.com/';
break;
}
在我的 database.php 配置中:
...
$db['default']['hostname'] = 'localhost';
switch (HOST_TYPE) {
case 'subdomain':
$username;
$password;
$con=mysqli_connect("localhost","username_db","password_db","name_db");
$query = "SELECT * FROM subdomain_table WHERE subdomain_name = '".SUBDOMAIN."';" or die("Error in the consult.." . mysqli_error($con));
if ($result = mysqli_query($con, $query)) {
while($row = mysqli_fetch_array($result)) {
$username = $row["username"];
$password = $row["password"];
}
}else{
mysqli_close($con);
redirect('http://hostname.com'); //No sudomain found or error page
}
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
mysqli_close($con);
}else{
}
mysqli_close($con);
$db['default']['database'] = 'db_prefix'.SUBDOMAIN;
$db['default']['username'] = 'username_prefix'.$usuario;
$db['default']['password'] = $password;
break;
case 'localhost':
$db['default']['database'] = 'local_dev_db_name';
$db['default']['username'] = 'some_username';
$db['default']['password'] = 'some_password';
break;
default:
redirect('http://mainpage.com');
break;
}
$db['default']['dbdriver'] = 'mysql';
...
最后是 constants.php 配置:
//this one resolve all your links!!!!!
switch (HOST_TYPE) {
case 'subdomain':
define('URL','http://'.SUBDOMAIN.'.hostname.com/');
break;
case 'localhost':
define('URL','http://localhost/devpage/');
break;
default:
define('URL','http://mainpage.com/');
break;
}
希望对你有用