帮助!我尝试了一些不同的代码,但都无法重定向到移动端。我在一个godaddy服务器上,这是我的代码,用index.php编写
<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
if ($iphone || $android || $palmpre || $ipod || $berry == true)
{
header('Location: http://mobile.practicallunacy.com/');
}
?>-编辑-这是我将其更改为的内容。别对我太客气,我对php了解不多。
<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
if ($iphone = true) if ($android = true) if ($palmpre = true) if ($ipod = true) if ($berry = true)
{
header('Location: http://mobile.practicallunacy.com/');
}
?>-编辑
基于别人告诉我做的事情,这是我放进去的新代码……它仍然不起作用。
<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
if ($iphone == true)
{
header('Location: http://mobile.practicallunacy.com/');
}
if ($android == true)
{
header('Location: http://mobile.practicallunacy.com/');
}
if ($palmpre == true)
{
header('Location: http://mobile.practicallunacy.com/');
}
if ($ipod == true)
{
header('Location: http://mobile.practicallunacy.com/');
}
if ($berry == true)
{
header('Location: http://mobile.practicallunacy.com/');
}
?>发布于 2017-07-27 01:03:40
if(($iphone || $android || $palmpre || $ipod || $berry) === true){
header('Location: http://mobile.practicallunacy.com/');
}if语句中需要使用双括号,请注意the operators之间的差异
发布于 2017-11-18 14:37:49
你的语法全错了,这段代码不会运行。您的最后一次尝试在语法上是正确的,但是没有考虑到strpos()的反复无常,它可以在匹配的情况下返回0。
<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'], "iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'], "Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'], "webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'], "BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'], "iPod");
if ($iphone !== false || $android !== false || $palmpre !== false || $ipod !== false || $berry !== false) {
header("Location: http://mobile.practicallunacy.com/");
}注意严格的相等性检查的用法;0 == true但0 !== true。
不过,这是正则表达式搜索的一个很好的用法:
<?php
if (preg_match("/iphone|android|webos|blackberry|ipod/i", $_SERVER['HTTP_USER_AGENT'])) {
header("Location: http://mobile.practicallunacy.com/");
}https://stackoverflow.com/questions/45332461
复制相似问题