0

純粋に PHP を使用して、ドメイン名に基づいて別の構成ファイルをロードできるようにしたいと考えています。

現在、私の設定ファイルは次を使用してロードされます

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

ただし、ドメインが domain1.com である場合は /theme/domain1 から構成をロードするか、domain2.com である場合は /theme/domain2 からロードし、これらのドメインのいずれでもない場合は /theme/default からロードする必要があります。

これは、ドメイン名が別のドメインの上にパークされている場合に使用されるため、構成ファイルを除いてコンテンツはすべて同じです。

私はその線に沿って何かを考えていました

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

それを適切にフォーマットする方法、またはそれを行うための最良の方法がわからないだけです。

4

2 に答える 2

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'] はあまり良くないと思います。

于 2013-04-17T06:32:09.337 に答える
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');
于 2013-04-17T05:44:25.060 に答える