如果移动设备和网址=特定网址

时间:2015-08-21 15:24:01

标签: php redirect mobile

我有一个基于php的网站,我想将用户重定向到特定网页的移动版本,但仅限于那些网址,我想保留某些网址,因为它们目前正在使用的功能做。

我知道你可以在config.php中设置一条说

的规则
if(!defined('_MOBILE') && !defined('_ADMIN') && $_SESSION['DV'] != 'true' && $_REQUEST['code'] == '' && $converting != 'true') {
        header("Location:".$config['MOBILE_URL'].$vinf);
        exit;
    }

但是,如果找到移动设备,那将在所有网页上重定向,我只想重定向,例如if(mobile&& location =" mysite / test"){// do redirect}

有关如何解决此问题的任何建议?是否需要在重定向必须发生的每个php页面上而不是在config.php文件中设置规则?

感谢您的帮助。

编辑:

当我注释掉以下内容时,浏览器在移动设备上不会重定向用户:

/*
$config['GLOBAL_ENV'] = (strpos(php_sapi_name(), 'cgi')) ? 'env -i ' : NULL;
$config['MOBILE_URL'] = $config['base_url'].'/mobile';
if ($config['mobile_force_redirect'] == '1') {
    $config['IPHONE'] = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
    if (strpos($_SERVER['HTTP_USER_AGENT'],"iPad")) $config['IPHONE'] = strpos($_SERVER['HTTP_USER_AGENT'],"iPad");
    $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
    if (stripos($ua,"android")) $config['IPHONE'] = stripos($ua,"android");
    if($config['IPHONE']) {
    if(!defined('_MOBILE') && !defined('_ADMIN') && $_SESSION['DV'] != 'true' && $_REQUEST['code'] == '' && $converting != 'true') {
        header("Location:".$config['MOBILE_URL'].$vinf);
        exit;
    }
    }
}*/

1 个答案:

答案 0 :(得分:2)

Mobile Detect是一个用于检测移动设备(包括平板电脑)的轻量级PHP类。它使用User-Agent字符串与特定HTTP标头相结合来检测移动环境。

使用它可以很容易地只显示移动设备的内容:

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

// Check for any mobile device.
if ($detect->isMobile() && $_SERVER['REQUEST_URI'] == "YOUR_URL_HERE"){
    header("Location:".$config['MOBILE_URL'].$vinf);
    exit;
}
else
   // other content