2013-08-01 2 views
-1

Я сделал это перенаправление в зависимости от состояния.if/else заявление перенаправление не работает

У меня есть CMS, и я разрабатываю мобильную версию сайта. Основная CMS связана с site_url.com, а мобильная версия находится на субдомене m.site_url.com. Ниже приведена функция отредактированного выхода в упомянутой CMS.

CodonModule включен в качестве php, включает в себя index.php мобильного сайта. Это загружает все функции CMS в основном.

Является ли решение, которое я придумал, разрешить такое перенаправление, которое я сделал ниже, или мне нужно что-то другое, чтобы найти субдомен и на основе этой информации завершить перенаправление? На данный момент он всегда перенаправляет меня на ссылку аргумента else, независимо от того, где я запускаю сценарий, будь то на субдомене или в основном домене. Поэтому я хотел бы исправить сценарий ниже, и для условия работы.

Auth::LogOut инициирует процесс выхода из системы. Затем я добавляю перенаправление для того, чтобы пользователь перенаправлялся либо на страницу рабочего стола (аргумент else), либо на мобильную версию (если они находятся на субдомене).

Когда я сделал $die(subdomain) чуть ниже линии $subdomain, он распечатал имя домена. Разве он не должен распечатывать m вместо субдомена, или я сделал беспорядок этого кода?

class Logout extends CodonModule 
{ 
    public function index() 
    { 

     $sub_domain = array_shift(explode(".",$_SERVER['HTTP_HOST'])); 

     if($sub_domain == 'm') 
     { 
      Auth::LogOut(); 
      header('Location: http://m.site_url.com/index.php'); 
     } 
     else 
     { 
      Auth::LogOut(); 
      header('Location: '.url('/')); 
     } 
    } 
} 

ответ

0

Попробуйте добавить session_start(); в верхней части файла прямо под <?php где и определили функцию index(), если я правильно с Сессии даже не заводится (ИДК), но попробуйте добавить его ..

Возможно, это сработает.

Смежные вопросы