2010-07-19 81 views
0

我正在嘗試使codeigniter的多域設置。codeigniter多域設置問題

我需要支持這樣的

www.site.com/users/username subdomain.site.com www.othersiteparkedonsite.com

鏈接在這3種不同的情況下,我想加載應用程序關於以下的index.php中的代碼將只與子域和域的情況下工作的情況下

文件夾

// Application folder var 
$myApp = ''; 

switch($_SERVER['HTTP_HOST']) 
{ 
    case 'site.com': 
     $myApp = 'application'; 
     break; 

    default: 
     $myApp = str_replace('.','_',$_SERVER['HTTP_HOST']); 
     $myApp=str_replace('www_','',$myApp); 
     $myApp='sites/'.$myApp; 
    } 

$application_folder = $myApp; 

但如何識別第一個案例和子域?

使用代碼,我可以只使用一個文件夾/網站/在根文件夾中,並通過子文件夾名稱或域名加載文件夾,但是,如何進行路由或使用htaccess,以便我可以加載應用程序文件夾用戶名,子域,域和控制器? 我的意思是我需要的,如果我們去www.site.com/users/usernameX

index.php文件將在子域的情況下,加載/ usersites/usernameX文件夾

sub1.site。 COM將加載應用程序的文件夾

/子域/ sub1_site_com

在停在同一文件夾中的其他域的情況下

www.otherdomain.com將加載

/位點/ otherdomain_com

www.site.com/somecontroller/somefunction將從主/應用程序文件夾 這是在根工作..

你能幫我嗎?

回答

0

我的解決辦法是

$myApp = ''; 

    switch($_SERVER['HTTP_HOST']) 
    { 
     case 'multi.com': 





      $myApp = 'application'; 

      $uri_string=$_SERVER['REQUEST_URI']; 

      if(strlen($uri_string)>6){ 


       $link_way=explode('/',$uri_string); 
       //print_r($link_way); 
       //var_dump($link_way); 

       //проверяем если линк ведет к сайту юзера и у юзернейм состоит из более 4х знаков 
       if($link_way[1]=='sites' and strlen($link_way[2])>=5){ 


        $myApp='sites/usersites/'.$link_way[2]; 



        } 
       elseif($link_way[1]=='sites' and strlen($link_way[2])<5){ 
        exit('Username should be more than 4 chars'); 

        } 






       } 





      break; 

     default: 
      $myApp = str_replace('.','_',$_SERVER['HTTP_HOST']); 
      $myApp=str_replace('www_','',$myApp); 
      $myApp='sites/domains/'.$myApp; 
     } 

    $application_folder = $myApp; 
0

定義「不起作用」,因爲這應該工作正常。它只是加載默認的應用程序?

var_dump()HTTP_HOST並進行比較。如果您正在localhost:8080或8888等上運行,那麼它將包含在HTTP_HOST中,因此您可能需要使用SERVER_NAME。

+0

實際上所有文件夾是應用程序文件夾中的simlinks,我會成爲普遍content.php控制器,它取決於站點別名將會給指定的內容.... – 2010-07-19 09:10:28

+0

什麼有如何處理魚的價格? – 2010-07-19 20:53:46

+0

好的,我可以安排,以便正確加載應用程序的正確文件夾。但我有一個鏈接問題 如何使這樣的路由, www.site。COM /網站/用戶X /控制器/功能/ VAR1/VAR2 的行爲就像是 www.site.com/controller/function/var1/var2 ??? – 2010-07-20 11:24:45