在ExpressionEngine配置文件中使用条件$ _SERVER ['HTTP_HOST'] - 无法正常工作

时间:2011-05-13 14:50:04

标签: php codeigniter expressionengine

我正在使用ExpressionEngine 2(build:20101220)和Multisite Manager(v2.0 build: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中的那些行是下面的'重定向'和'链接':

// 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的东西?是否有一些我不知道在条件中使用这种类型的变量?

1 个答案:

答案 0 :(得分:1)

请确保您在www.siteB.com上使用de WWW

if($ domain =='www.SiteB.com')