Я использую 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? Есть ли что-то, чего я просто не знаю об использовании этого типа переменной в условном выражении?