2011-06-29 2 views
7

は私がマルチドメイン1つのテンプレートの設定にコーディングの以下の部分がある場合:私はwww.justdoors.co上だとき、それは行動を行っていないいくつかの理由についてPHP - ドメイン

<?php $host = parse_url($domain, PHP_URL_HOST); 
if($host == 'www.justdoors.co') { 
echo "action goes here"; 
} ?> 

をドメイン、私は何が足りないですか?

+2

'$のdomain'の値は何ですか? –

+2

あなたがそのドメインにいるときに '$ host'の値は何ですか? – Jon

答えて

7

使用$_SERVER['SERVER_NAME']または$_SERVER['HTTP_HOST']変数

$host = $_SERVER['HTTP_HOST']; 
if($host == "www.justdoors.co" or $host == "justdoors.co") { 
    //do anything you want to do 
} 
+0

'$ _SERVER ['HTTP_HOST'] === $ _SERVER ['SERVER_NAME']'は必ずしも真ではありません。 HTTP_HOSTには '。'が付きます。 'http:// example.org。/'( 'http:// example.org /' [ドットなし]は相対的です)。 – Saxoier

+0

http://something.com./からアクセスするサイトは誰ですか? – genesis

+0

あなたは決してユーザー入力を信用すべきではありません。 – Saxoier

4

これまで私のサーバーでこれを正常に使用しています。

<?php if ($_SERVER['SERVER_NAME'] == 'www.domain.com') { echo ''; } ?> 
1

私はこれを試してみましたし、それは完全に働いています。..

<?php 
function conn() 
{ 
    $ora_con=0; 
    //development connection building 
    if ($_SERVER['SERVER_NAME'] == 'xyz.com') 
    {$username='scott'; 
    $password = 'tiger'; 
    $ora_conn_string = 'conn_name:port_no/db_name'; 
    //echo "<br>development connection building"; 
     $ora_con = oci_connect($username,$password,$ora_conn_string); 
    //echo '<br>dev connection build<br>'; 
    } 
    //Production connection building 
    elseif ($_SERVER['SERVER_NAME'] == 'abc.net') 
     {$username='prod_scott'; 
     $password = 'prod_tiger'; 
     $ora_conn_string = 'conn_name:port_no/db_name'; 
     //echo "<br>Production connection building"; 
     $ora_con = oci_connect($username,$password,$ora_conn_string); 
     //echo '<br>Prod connection build<br>'; 
     } 

    return $ora_con; 
} 
?> 
関連する問題