根据域名加载不同的配置文件

时间:2013-04-17 05:39:44

标签: php

我希望能够使用纯PHP基于域名加载不同的配置文件。

目前我的配置文件使用以下

加载
# Look for a config.php in the /themes/themeName/ folder
if ( ! defined('MULTI') && file_exists($tmp = WWW_ROOT . '/themes/' . $CONFIG['theme'] . '/config.php') ) {

但我需要能够添加如果域是来自/ theme / domain1的domain1.com加载配置,或者如果它是来自/ theme / domain2的domain2.com加载,并且如果它们不是从/ theme加载这些域中的任何一个/默认值。

当域名停放在另一个域的顶部时使用,因此除了配置文件外,内容完全相同。

我正在思考

的内容
if ($_SERVER['HTTP_HOST']="domain1.com")
else if ($_SERVER['HTTP_HOST']="domain2.com")
else

只是不确定如何正确格式化它或那是最好的方法。

2 个答案:

答案 0 :(得分:1)

$themes_path=array( 
'domain1.com'=>'foldername1',
'domain2.com'=>'foldername2'
);

if (isset($_SERVER['HTTP_HOST']) && file_exists(WWW_ROOT . '/themes/' . $themes_path[$_SERVER['HTTP_HOST']] . '/config.php'){
include(WWW_ROOT . '/themes/' . $themes_path[$_SERVER['HTTP_HOST']] . '/config.php');
}

我认为直接包括$ _SERVER ['HTTP_HOST']不是很好。

答案 1 :(得分:0)

if (isset($_SERVER['HTTP_HOST']) && file_exists(WWW_ROOT . '/themes/' . $_SERVER['HTTP_HOST'] . '/config.php')
    include(WWW_ROOT . '/themes/' . $_SERVER['HTTP_HOST'] . '/config.php');
else
    include(WWW_ROOT . '/themes/default/config.php');