我认为您的代码中有错误,请尝试分析您的 Web 服务器的日志。
我在 Google Mobile-friendly test 和 Google Page Speed 进行了测试,一切正常。
Nginx 日志:
127.0.0.1 - - [22/Aug/2015:16:29:16 +0300] "GET /test.mobile.php HTTP/1.1" 301 18 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
127.0.0.1 - - [22/Aug/2015:16:29:18 +0300] "GET / HTTP/1.1" 200 17211 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
PHP:
$useragent = $_SERVER['HTTP_USER_AGENT'];
$devices = ['iphone', 'android'];
if ( arrayInString( $devices, strtolower( $useragent ) ) ) {
header("HTTP/1.0 301 Moved Permanently");
header("Location: http://mysite.ua" . strtolower( $_SERVER['REQUEST_URI'] ) );
die("Redirect");
}
function arrayInString( $inArray , $inString ) {
if( is_array( $inArray ) ) {
foreach( $inArray as $e ) {
if( strpos( $inString , $e ) !== false )
return true;
}
return false;
} else {
return ( strpos( $inString , $inArray ) !== false );
}
}
但我建议使用 nginx 进行此类重定向