2011-09-14 4 views
3

사용자가 모바일 브라우저를 사용하고 있는지 확인한 후 모바일 사이트로 리디렉션하는 간단한 .htaccess 규칙이있는 사이트가 있습니다. 문제는 그들이 정규 사이트로 이동하기를 원할 경우 (그리고 거기에있는 링크를 클릭하면) 결국 모바일 사이트로 돌아갈 것입니다. 우리의 .htaccess 규칙은이를 잡아서 리디렉션합니다.모바일 사이트에 사용자를 유지하십시오.

모바일 브라우저가 있어도 일반 사이트에서 "유지"할 수있는 많은 코드를 수정하면 손쉬운 방법이 있습니까?

그럴 수 없다면 - 코드에서이 작업을 수행하기위한 간단한 최소한의 해결책이 있습니까?

+1

코드에서 HTTP_REFERER를 확인하고 모바일 사이트 인 경우 리디렉션하지 않을 수 있습니다. –

답변

4

내가하는 일은 모바일 사이트의 전체 사이트에 대한 링크를 제공하는 것입니다. 링크를 탭하면 일반 웹 사이트에서 리디렉션하지 못하도록 알리는 쿠키를 [매우 짧은 수명으로] 설정합니다.

모바일로 리디렉션되는 것은 일반 사이트에서 htaccess가 아닌 PHP에 의해 처리됩니다. PHP는 쿠키를 확인하고 찾지 못하면 모바일로 리디렉션합니다. 일반 사이트는 또한 쿠키를 파괴하는 모바일 사이트에 대한 링크를 제공합니다.

+0

내 제안은 거의 동일하게 적용될 것입니다. – Julian

0

내 의견에 이어, mod_rewrite에서 % {HTTP_REFERER}를 확인하여 .htaccess에서 동일한 작업을 수행 할 수 있습니다. 현재 리디렉션을 어떻게 수행하는지 잘 모르겠지만 아마 두 부분을 결합 할 수 있습니다. 구문이 조금 잘못 될 수있다, 그래서 나는,이 테스트를하지 않은

RewriteEngine On 
RewriteCond %{HTTP_REFERER}  !^http://mobile.mydomain.com 
RewriteCond %{HTTP_USER_AGENT} [your check for mobile browser] 
RewriteRule ^(.*)$ http://mobile.mydomain.com/$1 [R=301,L] 

참고, 그러나 당신이 시작할 수 있어야합니다 그래서 당신은이 같은 끝낼 것입니다.

0

사용자가 선택한 재정의를 포함하는 쿠키 또는 세션 매개 변수를 설정하십시오.

0

모든 쿠키 항목을 건너 뛰고 http 헤더에서 http 리퍼러를 확인할 수 있습니다. 리퍼러가 모바일 사이트 인 경우 모바일 사이트로 리디렉션하지 마십시오.

희망이 있습니다.

추신 : 모바일 장치 검색을 위해 .htaccess가 필요한지 궁금합니다. 얼마나 신뢰할 수 있니? 실수로 많은 태블릿을 리디렉션합니까?

관련 문제