2014-02-14 3 views
1

.htaccess 리다이렉트를위한 regex 's를 작성하는 데 좋지는 않지만 사용자 지정 리디렉션 용으로 작성했습니다. 내 사용자 에이전트 문자열은 끝에 사용자 정의 문자열을 포함합니다. ABC..htaccess는 사용자 에이전트를 기반으로 리디렉션합니다.

RewriteCond %{HTTP_USER_AGENT} ^.*ABC$ 
RewriteRule ^(.*)index\.php$ /$1?&mode=test&app=true [R=301,L] 

그러나 사용자 에이전트 요청 헤더에 문자열이 포함되어 있다고 확신합니다. 다른 도메인으로 리다이렉트 할 수는 없습니다. 확실히 두 선이 틀렸다는 것을 확신합니다. 첫 번째는 아마도 10 %이고 두 번째는 50 %입니다.

이 문제를 해결하는 방법을 아는 사람이 있습니까?

추가 데이터 "모질라/5.0 (윈도우 NT 6.1; WOW64; RV : 26.0) 게코/20100101 파이어 폭스/26.0 ABC"

+0

당신이 라인이 함께 달성하기 위해 무엇을 계획 할 수 [L]을 변경하려면 주소 표시 줄에 URL과 함께 표시 할 경우? 연결하려는 URL은 무엇입니까? –

+0

사용자가 입력 한 동일한 URL이지만 매개 변수가? mode = test & app = true –

+0

이 규칙을 테스트하기 위해 사용하신 URL은 무엇입니까? – anubhava

답변

1

이 시도하고이 당신을 위해 작동되는지 확인합니다.

RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} ABC [NC] 
RewriteRule ^(.+) $1?mode=test&app=true [L] 

당신은 쿼리 문자열은 또한 다음 [R=301,L]

+0

Kewl !! 시도해 보겠습니다 :) –

+0

작동하지 않습니다 ... 문제는 rewriteCond ... 접두사 ABC와 함께 일반 브라우저 문자열을 포함합니다. usr 에이전트 문자열에 대한 원래 게시물을 참조하십시오. –

+0

나는 그것을 이해합니다. 그건 ABC에서 작동해야합니다, 내 업데이트와 마찬가지로 NC를 끝에 추가하십시오. 문자열에 ABC가 있는지 확인 하시겠습니까? –

관련 문제