PHP移动检测脚本不重定向,发送空白页

时间:2011-08-02 16:45:45

标签: php redirect mobile header

我正在尝试(鉴于我对PHP的知识非常有限)使用http://detectmobilebrowsers.mobi中的移动设备检测脚本将移动用户重定向到特定于移动设备的网站。该网站的PC版本[此处],而移动网站与/ mobile /文件夹[此处]一起使用。

我确保在php重定向调用之前没有任何内容。在移动设备上进行测试时,重定向只会转到空白页面,而PC版本会按原样进入整个站点。

我在页面顶部有mobilecheck1.php,呼叫以下内容:

<?php
require_once('mobile_device_detect.php');
mobile_device_detect(true,false,true,true,true,true,true,'http://www.epworthindy.org/mobile/index.php',false);
?>

我以前在一个几乎相同的配置中使用过这个相同的脚本并且它已经工作了,但不是在这里。我真的很感激通过这个问题的任何帮助/指导。谢谢!

3 个答案:

答案 0 :(得分:1)

我看了一下脚本,看起来在你的用例中,它会在没有检测到移动浏览器时返回。

您使用的是哪种移动设备?也许你正在使用脚本不知道的那个。另请注意,您并未将iPad视为移动设备,因此使用iPad会触发此问题。

答案 1 :(得分:1)

这是我会尝试的......

  1. 在Firefox上安装:https://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher/
  2. 在此处下载并安装Charles的免费试用版:https://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher/
  3. 运行Charles并让它记录(默认情况下可能会记录,但如果没有,则是工具栏中的红色和白色按钮);将您在Firefox中的用户代理更改为iPhone(如果您使用的是最新版本的FF,则可能需要单击Firefox菜单,转到“选项”并选择“菜单栏”;用户代理切换器将位于工具菜单下,并且说“默认用户代理” - 转到该菜单并选择iPhone)
  4. 请求页面;然后阻止查尔斯录音。
  5. 在左侧窗格中,展开http://epworthindy.org并选择您尝试加载的页面;然后单击响应选项卡,然后选择底部的原始选项卡,您将能够确切地看到服务器发回的内容。
  6. 完成后,您应该能够看到服务器在顶部发送重定向;随意复制并粘贴结果,我也可以看看。

答案 2 :(得分:0)

感谢Doug,我能够确定我已经将php文件保存为utf-8,以包含BOM unicode签名,该签名在文件开头生成以下字符:Ôªø

我只是在没有unicode签名的情况下重新保存,它按预期工作。谢谢你指出我正确的方向!