2013-08-01 6 views
-1

조건에 따라이 리다이렉트를 만들었습니다.if/else 문이 리디렉션되지 않음

나는 CMS를 가지고 있으며 사이트의 모바일 버전을 개발 중입니다. 모바일 버전이 하위 도메인 m.site_url.com에있는 동안 주 CMS는 site_url.com에 연결됩니다. 아래의 기능은 언급 된 CMS에서 편집 된 로그 아웃 기능입니다.

CodonModule은 모바일 사이트의 index.php에 PHP로 포함되어 있습니다. 기본적으로 모든 CMS 기능이로드됩니다.

나는 아래에서 설명한 리디렉션을 허용 했습니까? 아니면 하위 도메인을 찾기 위해 다른 것이 필요합니까? 해당 정보를 기반으로 리디렉션을 완료합니까? 지금은 하위 도메인이든 메인 도메인이든 관계없이 스크립트를 트리거하는 위치와 관계없이 항상 else 인수의 링크로 리디렉션됩니다. 따라서 아래 스크립트를 수정하고 조건이 작동하도록하고 싶습니다.

Auth::LogOut은 로그 아웃 프로세스를 트리거합니다. 그런 다음 사용자가 데스크톱 페이지 (else 인수) 또는 모바일 버전 (하위 도메인에있는 경우)으로 리디렉션되도록 리디렉션을 추가합니다.

내가 $subdomain 라인 바로 아래 $die(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

봅니다 u는 index() 기능을 정의 어디 오른쪽 세션도 시작 (IDK)하지 않은거야 경우, 바로 <?php 아래 파일의 상단에 session_start();을 추가 할 수 있지만 추가하려고합니다 ..

아마도 작동 할 수 있습니다.

관련 문제