如何将非IOS用户重定向到我的Web应用程序中的另一个页面

时间:2011-11-08 04:34:11

标签: iphone ios web-applications redirect detection

我正在使用jQuery mobile开发一个简单的Web应用程序,它专为iPhone设计。我正在寻找一种方法将任何不使用iOS设备的人重定向到另一个页面。

我找不到最近有效的解决方案。我得到的最接近的是this,但脚本在我的iPhone上无效。无论我使用什么设备,它都会重定向我。

是否有适合我需求的解决方案?

2 个答案:

答案 0 :(得分:0)

请注意,该页面上的脚本会将iPhone和iPod用户重定向到其他网站。它不会将非iPhone / iPod用户重定向到其他网站。如果这是问题,只需将javascript代码更改为以下内容:

if (!(navigator.userAgent.match(/iPhone/i)) && !(navigator.userAgent.match(/iPod/i))) {
    location.replace("http://notiphoneoripod.yourdomain.com");
}

如果您还需要重定向iPad,请改为使用以下修改:

if (!(navigator.userAgent.match(/iPhone/i)) && !(navigator.userAgent.match(/iPod/i)) && !(navigator.userAgent.match(/iPad/i))) {
    location.replace("http://notiphoneoripodoripad.yourdomain.com");
}

或者,如果您使用的是服务器端编程语言(如PHP),则应该通过该方法而不是客户端代码进行重定向。您可以在PHP中使用$ _SERVER ['HTTP_USER_AGENT']进行检查。

或者,如果您想直接在服务器上执行此操作,如果您使用的是Apache,则可以在.htaccess中添加以下内容:

RewriteCond %{HTTP_USER_AGENT} !^.*iPhone.*$
RewriteRule ^(.*)$ http://notiphone.yourdomain.com [R=301]

答案 1 :(得分:0)

2种方法 -

  1. 重定向设备。即客户端具有url命中的逻辑。这就是你上面提到的。
  2. 最好是在服务器端在Web服务器上执行此操作。 Web服务器(如apache和nginx)非常适合这种情况。在从客户端设备访问网址之前,请附上类似XX-DEVICE-HEADER:IPOD等的标题,然后在网络服务器上阅读此标题&适当重定向。