2012-02-23 2 views
1
를 리디렉션

가능한 중복 :
Mobile Redirect using htaccess
가장 좋은 방법은 모바일 장치

가 현재 나는 램프를 활용, 정기적으로 웹 사이트를 가지고있다. 모바일 장치의 리디렉션을 다음과 같은 하위 도메인에 추가하고 싶습니다. m.mydomain.com

PC와 모바일 장치의 내용간에 몇 가지 내용이 있습니다.

가장 좋은 방법은 무엇입니까? 그것은 .htaccess 파일로 할 수 있습니까 아니면 PHP 스크립트의 일종 필요합니까?

감사합니다.

+2

http://stackoverflow.com/questions/3680463/mobile-redirect-using-htaccess – itsmequinn

답변

6

나는 htaccess로 가장 빠른 것 같아요. htaccess 파일에 이와 같은 것을 넣을 수 있습니다.

RewriteCond %{HTTP_HOST} ^www\.mydomain\.com [NC] 
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC] 
RewriteRule ^(.*)$ http://m.mydomain.com/$1 [L,R=302] 
+0

예, 방금이 솔루션을 시도했습니다. 그러나 훌륭하게 작동합니다. 브라우저를 www로 다시 리디렉션하도록 수정해야합니다. mydomain.com은 목록에있는 장치 중 하나가 아닙니다. 어떻게해야합니까? – santa

+0

*! *를 사용하여 조건을 시작하십시오. 'RewriteCond % {HTTP_USER_AGENT}! android | blackberry | ...' –

+0

다른 .htaccess 파일을 RewriteCond % {HTTP_USER_AGENT}와 (과) w.mydomain.com 하위 디렉토리에 넣을 것입니다! "android | blackberry | ... – santa

-1

안녕 산타 내가 발견이 :

if(navigator.userAgent.match(/Android/i) || 
navigator.userAgent.match(/webOS/i) || 
navigator.userAgent.match(/iPhone/i) || 
navigator.userAgent.match(/iPod/i) || 
navigator.userAgent.match(/BlackBerry/) 
){ 
// some code 
} 

출처 : What is the best way to detect a mobile device in jQuery?

+2

이것은 OP가 요청한 .htaccess 또는 PHP 질문이 아닌 Javascript 솔루션입니다. JS 솔루션을 제공 할 때의 문제는 페이지에 이미 OS 유형을 결정하기위한 콘텐츠가로드되어 있다는 것입니다. .htaccess와 PHP는 모두 대체 콘텐츠를로드 할 수 있으며 하위 도메인으로 리디렉션하는 경우에도 적합합니다. 이는 사용자가 훨씬 빠르고 가볍고 여러 요청을 처리하는 대신 서버에서 가볍기 때문에 이상적입니다. '.htaccess'는 아파치 레벨에서 리다이렉트를 수행하는 가장 좋은 해결책입니다. –

+0

안녕하세요, 저는 페이지 페인트가 이것을 시도하기 전에 이것을 실행해야합니다. 함수 preloadFunc() { 경고 ("PreLoad"); } window.onpaint = preloadFunc(); – Edig

+0

아니요, 여전히 나쁜 일입니다. 자바 스크립트를 사용하고 있습니다. 이미 너무 늦게 발생하고 있습니다. 아파치> PHP> 자바 스크립트. 먼저 콘텐츠 전달 또는 리디렉션을 위해 Apache 수준에서 작업하십시오. 그렇게 할 수 없다면 PHP를 사용하여 위치 헤더를 대체 위치에 던져 넣을 수 있지만 자바 스크립트는 리디렉션을위한 최후의 수단으로 사용해야합니다. -이 경우에는 필요하지 않습니다. –

0

이러한 답변은 태블릿을 휴대 전화와 분리 할 때까지 정상적으로 작동합니다. 더 나은 일치를 얻으려면 클래스 (태블릿/콘솔/모바일)별로 기기를 분리 할 수있는 Handset Detection (면책 조항 : 내 시작)과 같은 것이 필요합니다. API 키트가있는 서버 측 또는 Javascript가있는 장치에서 서버 측을 감지 할 수 있습니다.

관련 문제