Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果移动和url=特定url,如何重定向_Php_Redirect_Mobile - Fatal编程技术网

Php 如果移动和url=特定url,如何重定向

Php 如果移动和url=特定url,如何重定向,php,redirect,mobile,Php,Redirect,Mobile,我有一个基于php的网站,我想将用户重定向到特定页面的移动版本,但仅对于那些URL,我想保留某些URL,以便功能能够像当前一样工作 我知道你可以在config.php中设置一个规则 if(!defined('_MOBILE') && !defined('_ADMIN') && $_SESSION['DV'] != 'true' && $_REQUEST['code'] == '' && $converting != 'true')

我有一个基于php的网站,我想将用户重定向到特定页面的移动版本,但仅对于那些URL,我想保留某些URL,以便功能能够像当前一样工作

我知道你可以在config.php中设置一个规则

if(!defined('_MOBILE') && !defined('_ADMIN') && $_SESSION['DV'] != 'true' && $_REQUEST['code'] == '' && $converting != 'true') {
        header("Location:".$config['MOBILE_URL'].$vinf);
        exit;
    }
但如果找到移动设备,这将在所有页面上重定向,我只想重定向,例如(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;
    }
    }
}*/
是一个轻量级PHP类,用于检测移动设备(包括平板电脑)。它使用用户代理字符串和特定的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

首先,您如何检测移动设备?在上面的代码示例中,似乎在未定义移动时重定向。不过,我知道这不是您真正的问题。能否查看$\u服务器阵列的输出?你应该可以在$_SERVER['REQUEST_URI']中查看匹配项(我想,在我的脑海中)哈哈,我必须快速发表评论,我的姓也是卡尔森,我对PHP不是太在行,所以对我来说太简单了。请看我的编辑。嘿,卡尔森!(好吧,我不是瑞典人)我想@ROOMAViX有你的答案。哈哈,我也不是南非人,看起来移动检测可以解决我的问题。谢谢。我喜欢移动检测的外观,我必须检查一下!非常感谢,所以基本上我可以在特定页面上使用这些代码我想引导人们使用移动版本,目前他们正在“母版”页面上进行检查,如果你想在主配置文件中进行检查,但是如果我把它放在那里,直接放在index.php文件中,那么任何其他被点击的url都不会重定向,但是index.php会正确吗?我将尝试一下,但这似乎是我解决一个问题的门票,我已经有一个星期了。非常感谢!