我使用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的東西?有沒有我不知道在條件中使用這種類型的變量?
哪個版本和構建EE2的?你看過mod.member_auth.php的第243和244行嗎? (這些行上的內容可能會在版本和內部版本之間發生變化。) – 2011-05-14 16:37:55
對於MSM,構建20101220,對於EE和2.0構建:20101215。我會在上面添加該行和我的帖子。 – Chego 2011-05-18 17:19:07
你有沒有試過把這個問題發佈到[ExpressionEngine 2技術支持論壇](http://expressionengine.com/forums/viewforum/105/)? – rjb 2011-05-26 20:59:20