2010-07-13 3 views
0

저는 최근에 WordPress 사이트를 새 서버와 새 도메인 이름으로 마이그레이션했습니다.301 .htaccess를 사용하는 한 명을 제외하고 리디렉션 하시겠습니까?

301/http://www.newsite.com/

지금, 그러나, 클라이언트가 이전 사이트에 액세스하려고합니다 리디렉션 : 새에 이전 사이트에서 트래픽을 리디렉션하기 위해, 나는 자리에 간단한 한 줄의 .htaccess 파일을 넣어. 한 사람을 들여 보내 다른 사람을 새 사이트로 리디렉션 할 수있는 방법이 있습니까? 클라이언트가 (상대적으로) 고정 IP 주소가있는 경우

답변

0

, 당신은 당신이 현재 가지고있는 대신에 이런 일을 할 수있는 :

RewriteEngine On 

# Replace with the appropriate IP address 
RewriteCond %{REMOTE_ADDR} !=192.168.0.1 
RewriteRule .* http://www.newsite.com%{REQUEST_URI} [R=301,L] 

또는, 당신은 이런 식으로 뭔가를 할 수 있습니다 .. .

RewriteEngine On 

RewriteCond %{THE_REQUEST} !\?noredirect 
RewriteCond %{HTTP_REFERER} !^http://www\.oldsite\.com 
RewriteRule .* http://www.newsite.com%{REQUEST_URI} [R=301,L] 

그리고 그들이 http://www.oldsite.com/?noredirect에서 이전 사이트에 액세스하고 새 사이트로 리디렉션하지 않고 제대로 작동합니다 후 그들은 클릭 희망 후속 링크 수 (가정 브라우저는 리퍼러를 전송). 나는 이것을 시험하지 않았다. 그래서 나는 무엇인가를 간과했을지도 모른다.

당신은 리디렉션 지시어 전에한다 RewriteCond 지시어를 추가하여 조건 당신의 리디렉션을 할 수
+0

감사합니다. 두 번째 규칙은 완벽하게 작동합니다. 클라이언트의 IP 주소가 너무 자주 변경되어 IP를 사용하지 않으므로 URL에 매개 변수를 추가하는 것이 이상적입니다. 고맙습니다! – NatalieMac

2

:

RewriteCond %{SOMETHING} !the-client 
뭔가는 서버 변수가 클라이언트를 식별하는 데 사용할 수 있습니다

더 - 클라이언트가입니다 클라이언트를 식별하는 패턴 클라이언트는 항상 알려진 IP 주소에서 오는 경우

예를 들어, 당신은을 사용할 수

RewriteCond %{REMOTE_ADDR} !^12\.34\.56\.78$ 
Redirect 301/http://www.newsite.com/ 

IP 주소가 작동하지 않을 경우 사용할 수있는 서버의 많은 변수 http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html를 참조하여 상태.