2011-11-08 3 views
0

jQuery 모바일을 사용하는 간단한 웹 응용 프로그램에서 작업 중이며 특별히 iPhone 용으로 설계되었습니다. iOS 기기를 사용하지 않는 사람을 다른 페이지로 리디렉션하는 방법을 찾고 있습니다.IOS가 아닌 사용자를 웹 응용 프로그램의 다른 페이지로 리디렉션하는 방법

최근 해결 방법을 찾을 수 없습니다. 가장 가까운 것은 this 이었지만 스크립트는 내 iPhone에서 작동하지 않았습니다. 그것은 내가 사용하고있는 장치에 관계없이 나를 리디렉션했습니다.

내 요구 사항에 맞는 솔루션이 있습니까?

답변

0

해당 페이지의 스크립트는 iPhone 및 iPod 사용자를 다른 사이트로 리디렉션합니다. 비 iPhone/iPod 사용자를 다른 사이트로 리디렉션하지 않습니다. 그게 문제라면, 단순히 다음에 자바 스크립트 코드를 변경 : 당신은뿐만 아니라 아이 패드를 리디렉션해야하는 경우

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

는, 대신에 다음과 같은 수정 사용 또는

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']를 사용하여 확인할 수 있습니다.

또는 서버에 직접 수행하려는 경우 아파치를 사용하는 경우, 당신은 htaccess로에서 다음을 추가 할 수 있습니다 :이 할 수

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

2 가지 방법 -

  1. 장치에서 재 지정을 수행하십시오. 즉, 클라이언트는 히트 URL을 갖는 로직을 갖는다. 그것이 당신이 위에서 언급 한 것입니다.
  2. 가장 좋은 방법은 웹 서버에서 서버 측에서 수행하는 것입니다. 웹 서버 (apache & nginx와 같은)는 이것에 완벽합니다. 클라이언트 장치에서 URL을 치기 전에 XX-DEVICE-HEADER:IPOD 등의 헤더를 첨부 한 다음 웹 서버에서이 헤더 &을 적절히 리디렉션하십시오.
관련 문제