簡體   English   中英

在ExpressionEngine配置文件中的$ _SERVER ['HTTP_HOST']上使用條件-不起作用

[英]Using conditional on $_SERVER['HTTP_HOST'] in ExpressionEngine config file - not working

我正在將ExpressionEngine 2(內部版本:20101220)與Multisite Manager(v2.0內部版本:20101215)配合使用。 我有一個主站點和30個子站點。 我希望用戶能夠登錄到任何子站點,並同時登錄到主站點。 有一種方法可以使用戶登錄到配置文件中的所有站點,但是當瀏覽器執行30次重定向來設置cookie時,瀏覽器將引發錯誤。

因此,我創建了一個條件,以便根據您登錄的域為$ config ['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/";
} 

我可以在頁面上顯示$ config ['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中的這些行是下面的“ redirect”和“ link”行:

// 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'))
             );

如果我擺脫了條件語句,而只是使用$ config ['multi_login_sites'] =“ http://www.MainSite.com/|http://www.SiteB.com/”; 然后就可以了

看來這是一個PHP問題,但也許是EE / CodeIgniter? 關於在條件中使用這種類型的變量,我是否不了解?

確保您使用的是www.siteB.com

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM