2014-12-03 3 views
0

브라우저 감지 및 다른 사이트로 리디렉션하는 것과 관련하여 각각 다른 홈페이지에 대한 질문이 있습니다. 내 고객의 웹 사이트에하위 폴더에서 브라우저를 검색 한 후 리디렉션

는 내가 HTML 요소를 통해이 스크립트를 삽입 :

<script> 
var ua = navigator.userAgent.toLowerCase(); 
if (ua.indexOf('safari')!=-1){ 
    if(ua.indexOf('chrome') > -1){ 
    }else{ 
    window.location.href = "sfindex.html" // saf 
} 
} 
</script> 

지금,이 매끄러운 위젯을 적용하지 않는 즉 sfindex.html 또 다른 index.html을로 사용자를 리디렉션 (특정 기능이라고도 함)을 휴면 사이트/링크에 추가합니다. 사파리 사용자가 이라는 디렉토리에 도착할 것을 의미합니다. 모든 사이트이 폴더에는이 특정 기능이 없습니다. sf는 사파리를 의미하고 de는 독일어를 의미합니다.

다른 모든 브라우저는 표준 폴더로 계속 진행됩니다. 그냥 /드/독일어

에 대한이 폴더에서 모든 페이지는이 일정이이 기능을 활성화 않습니다. 지금까지 너무 좋아. 사용자가 기본 webadress에서만 시작하는 경우에는 잘 작동합니다.

내가 지금 도움을 부탁 해요, 어떻게 수행의 코드 /드/ 폴더 페이지는 해당 SF/드/에 항상 사파리 사용자를 리디렉션 할 수 있어야 페이지

위의 스크립트를 사용하여이 작업을 시도했지만 항상 실패했습니다. 예를 들어 sf/sf /에 존재하지 않는 폴더로 사용자를 리디렉션 할 것이므로 항상 하위 폴더를 다시 추가하거나 남겨 둡니다. 다른 구성에서 이 크롬과 오페라에서 작동하지 않는다는 것입니다

RewriteEngine on 

# Add /sf/ at the beginning, for safari user 
RewriteCond %{HTTP_USER_AGENT} .*safari [NC] 
RewriteCond %{REQUEST_FILENAME} \.html?$ [NC] 
RewriteCond %{REQUEST_URI} !^/sf/ [NC] 
RewriteRule ^(.*)$ /sf/$1 [R=302,L] 

# Delete /sf/ for normal user 
RewriteCond %{HTTP_USER_AGENT} !.*safari [NC] 
RewriteRule ^sf/(.*)$ /$1 [NC,R=302,L] 

그러나 htaccess로 파일에이의 문제 :

은 나뿐만 아니라이 일을 시도했다. 이 사용자를 Safari Subfolder/sf/그 어떤 문제 해결 방법으로 리디렉션합니까?

대단히 감사합니다. 나는 htaccess로 파일에 넣어 주 폴더에서 MacGee

답변

0

이 추가 정보 인 경우

RewriteEngine on 

# Add /sf/ at the beginning, for safari user 
RewriteCond %{HTTP_USER_AGENT} .*safari [NC] 
RewriteCond %{REQUEST_FILENAME} \.html?$ [NC] 
RewriteCond %{REQUEST_URI} !^/sf/ [NC] 
RewriteRule ^(.*)$ /sf/$1 [R=302,L] 

# Delete /sf/ for normal user 
RewriteCond %{HTTP_USER_AGENT} !.*safari [NC] 
RewriteRule ^sf/(.*)$ /$1 [NC,R=302,L] 
+1

는 귀하의 질문에 편집하십시오. – ChrisF

+0

이 정보를 질문에 편집하십시오. – ChrisF

관련 문제