我有一个完整的网站,已经在OS商务和移动网站是核心PHP(codeignitor),完整版和子域移动版。
例如完整网站:www.example.com
,移动网站域名为m.example.com
。当用户在移动设备中打开完整站点域名时,网站会重定向正确的移动域名,但如果移动用户想要查看完整站点,则用户可以在移动设备上查看完整站点。
我用它来完成重定向http://code.google.com/p/php-mobile-detect/,但它没有使用会话重定向到完整网站或移动网站。我知道我必须使用PHP SESSIONS和REQUEST才能使其工作但我不确定如何在这个实例中使用它们,所以你能否建议如何使用session解决这个重定向问题?
我的代码是:
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 :(得分:0)
从github页面我可以得到的结果就是这样:
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)向网址提供锚点
如果在完整网站上并检测到移动设备(未包含在上面的代码中),您可以使用fullscreen=no