2011-05-13 44 views
1

我使用Multisite Manager(v2.0版本:20101215)的ExpressionEngine 2(版本:20101220)。我有一個主站點和30個子站點。我希望用戶能夠登錄到任何子網站,並且同時登錄到主網站。有一種方法可以這樣做,以便用戶登錄到配置文件中的所有站點,但瀏覽器在執行30次重定向以設置cookie時會拋出錯誤。

所以,我創建了一個條件,這樣的基礎上,與您登錄到域,它會創建$配置正確的列表[「multi_login_sites」]:

$domain = $_SERVER['HTTP_HOST']; 
if ($domain == 'www.SiteB.com') { 
    $config['multi_login_sites'] = "http://www.MainSite.com/|http://www.SiteB.com/"; 
} else { 
    $config['multi_login_sites'] = "http://www.MainSite.com/"; 
} 

我可以顯示$配置['multi_login_sites']在頁面上,可以看到當我在SiteB上時,它是正確的。但是,當我登錄,我得到這些錯誤和重定向不起作用:

A PHP Error was encountered 
Severity: Notice 
Message: Undefined index: 2 
Filename: member/mod.member_auth.php 
Line Number: 243 

A PHP Error was encountered 
Severity: Notice 
Message: Undefined index: 2 
Filename: member/mod.member_auth.php 
Line Number: 244 

在mod.member_auth.php這些線是低於的那些說「重定向」和「鏈接」:

// We're done. 
$data = array('title' => $this->EE->lang->line('mbr_login'), 
     'heading' => $this->EE->lang->line('thank_you'), 
     'content' => $this->EE->lang->line('mbr_you_are_logged_in'), 
     'redirect' => $sites[$this->EE->input->get('orig')], 
     'link'  => array($sites[$this->EE->input->get('orig')], $this->EE->lang->line('back')) 
      ); 

如果我擺脫了條件語句,只需使用 $配置[「multi_login_sites」] =「http://www.MainSite.com/|http://www.SiteB.com/」; 然後它工作正常。

看起來這是一個PHP問題,但也許它是一個EE/CodeIgniter的東西?有沒有我不知道在條件中使用這種類型的變量?

+0

哪個版本和構建EE2的?你看過mod.member_auth.php的第243和244行嗎? (這些行上的內容可能會在版本和內部版本之間發生變化。) – 2011-05-14 16:37:55

+0

對於MSM,構建20101220,對於EE和2.0構建:20101215。我會在上面添加該行和我的帖子。 – Chego 2011-05-18 17:19:07

+0

你有沒有試過把這個問題發佈到[ExpressionEngine 2技術支持論壇](http://expressionengine.com/forums/viewforum/105/)? – rjb 2011-05-26 20:59:20

回答

1

確保你在www.siteB.com,與德WWW

如果($域== 'www.SiteB.com')