首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的移动PHP重定向不起作用

我的移动PHP重定向不起作用
EN

Stack Overflow用户
提问于 2017-07-27 00:18:24
回答 2查看 70关注 0票数 1

帮助!我尝试了一些不同的代码,但都无法重定向到移动端。我在一个godaddy服务器上,这是我的代码,用index.php编写

代码语言:javascript
复制
<?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了解不多。

代码语言:javascript
复制
<?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/');
}
?>

-编辑

基于别人告诉我做的事情,这是我放进去的新代码……它仍然不起作用。

代码语言:javascript
复制
<?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/');
}
?>
EN

回答 2

Stack Overflow用户

发布于 2017-07-27 01:03:40

代码语言:javascript
复制
if(($iphone || $android || $palmpre || $ipod || $berry) === true){ 
header('Location: http://mobile.practicallunacy.com/');
}

if语句中需要使用双括号,请注意the operators之间的差异

票数 0
EN

Stack Overflow用户

发布于 2017-11-18 14:37:49

你的语法全错了,这段代码不会运行。您的最后一次尝试在语法上是正确的,但是没有考虑到strpos()的反复无常,它可以在匹配的情况下返回0

代码语言:javascript
复制
<?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 == true0 !== true

不过,这是正则表达式搜索的一个很好的用法:

代码语言:javascript
复制
<?php
if (preg_match("/iphone|android|webos|blackberry|ipod/i", $_SERVER['HTTP_USER_AGENT'])) {
    header("Location: http://mobile.practicallunacy.com/");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45332461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档