2013-07-31 2 views
1

OS- 커머스 및 모바일 사이트에있는 전체 사이트가 코어 PHP (codeignitor)에 있으며 정식 버전 및 모바일 도메인이 하위 도메인에 있습니다.세션을 사용하여 전체 사이트의 모바일 사이트로 루프 리디렉션

예 : 전체 사이트 : www.example.com 및 모바일 사이트 도메인은 m.example.com입니다. 사용자가 모바일에서 전체 사이트 도메인을 열면 적절한 모바일 도메인을 웹 사이트로 리디렉션합니다. 그러나 모바일 사용자가 전체 사이트를보고 싶다면 사용자는 모바일에서 전체 사이트를 볼 수 있습니다.

리디렉션 http://code.google.com/p/php-mobile-detect/을 완료하는 데이 방법을 사용했지만 세션을 사용하여 전체 사이트 또는 모바일 사이트로 리디렉션하지 않습니다. 내가 PHP를 세션을 사용하고 요청하려면이 작업을 얻을 수 있지만이 인스턴스에서 사용하는 방법을 잘 모르겠습니다, 그래서 당신이 세션을 사용하여이 리디렉션 문제를 해결하는 방법을 제안하시기 바랍니다 수 알아? 여기

내 코드입니다 : 내가 GitHub의 페이지에서 무엇을 얻을 수에서

session_start(); 

    include('includes/Mobile_Detect.php'); 
    $detect = new Mobile_Detect; 

if(isset($_REQUEST['fullsite']) && $_REQUEST['fullsite'] == 'yes') 
{//check if fullsite view request from mobile or website? 

    $_SESSION['fullsite']="yes"; 

    if($detect->isMobile()) { 
       $_SESSION['website']="mobile"; 
    } 
    else{ 
     $_SESSION['website']="computer"; 
    } 

    $deviceType = header('Location: https://www.example.com/'); 
    } 
    else 
    { 
    if($_SESSION['website'] =="mobile" && $_SESSION['fullsite'] !="yes") 
    { 
     if($detect->isTablet()) 
     { 
      $deviceType = 'tablet'; 
     } 
     else 
     { 
      $deviceType = 'phone'; 
     } 

     $deviceType = header('Location: https://m.example.com/'); 
    } 
    elseif($_SESSION['website'] =="computer" && $_SESSION['fullsite'] =="yes") 
    { 
     $deviceType = 'computer'; 
     $deviceType = header('Location: https://www.example.com/'); 
    } 
    else{ 
     $deviceType = 'computer'; 
    } 

    $scriptVersion = $detect->getScriptVersion(); 
    session_destroy(); 
    } 

답변

0

당신이 그것을 이런 식으로 작동하게 할 수 있어야한다 :에서 방문 할 때

index.php

session_start(); 

if ($_GET['fullscreen'] == 'yes') { 
    $_SESSION['fullscreen'] = 1; 
} else if ($_GET['fullscreen'] == 'no') { 
    $_SESSION['fullscreen'] = 0; 
} 

if (false == isset($_SESSION['fullscreen']) && ($_SESSION['fullscreen'] == 0)) { 
    // If session['fullscreen'] has not been set (maybe first visit 
    // or the user does not what in fullscree 
    // check the device and do redirect 
    require_once 'Mobile_Detect.php'; 
    $detect = new Mobile_Detect(); 


    // Any mobile device (phones or tablets). 
    if ($detect->isMobile()) { 

    } 
    ... 
} 

// Other code here 

모바일, 사용자가 전체 버전을 원할 경우 GET 매개 변수 fullscreen=yes (http://example.com?fullscreen=yes)을 사용하여 URL 앵커를 제공하십시오.전체 사이트에서 모바일 검색 (위 코드에 포함되지 않음)이있는 경우 fullscreen=no

인 모바일 버전에 대한 링크를 제공 할 수 있습니다