把这个写在自定义的行为里边就可以了
$pcHostInfo=Yii::$app->request->hostInfo;
$pcAbsoluteUrl=Yii::$app->request->absoluteUrl;
$mobileHostInfo='http://m.mobile.com';
$mobileAbsoluteUrl=str_replace($pcHostInfo,$mobileHostInfo,$pcAbsoluteUrl);
if(isset($_SERVER['HTTP_X_WAP_PROFILE']))
{
return Yii::$app->response->redirect($mobileAbsoluteUrl)->send();
}
else if(isset($_SERVER['HTTP_VIA']))
{
if(stristr($_SERVER['HTTP_VIA'],"wap"))
{
return Yii::$app->response->redirect($mobileAbsoluteUrl)->send();
}
else
{
return true;
}
}
else if(isset($_SERVER['HTTP_USER_AGENT']))
{
$clientkeyword=[
'nokia','sony','ericsson','mot','samsung',
'htc','sgh','lg','sharp','sie-','philips',
'panasonic','alcatel','lenovo','iphone',
'ipod','blackberry','meizu','android',
'netfront','symbian','ucweb','windowsce',
'palm','operamini','operamobi','openwave',
'nexusone','cldc','midp','wap','mobile',
];
$client=implode('|', $clientkeyword);
if(preg_match("/(".$client.")/i",strtolower($_SERVER['HTTP_USER_AGENT'])))
{
return Yii::$app->response->redirect($mobileAbsoluteUrl)->send();
}
else
{
return true;
}
}
else if(isset($_SERVER['HTTP_ACCEPT']))
{
$vndWapWml=strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml');
$textml=strpos($_SERVER['HTTP_ACCEPT'],'textml');
if(($vndWapWml!==false)&&($textml===false||($vndWapWml<$textml)))
{
return Yii::$app->response->redirect($mobileAbsoluteUrl)->send();
}
else
{
return true;
}
}
else
{
return true;
}