1

죄송합니다. 제목을 올바르게 말하기가 확실하지 않았습니다.하나의 도메인이 다른 도메인의 서브 세트 일 때 .htaccess 리디렉션

.htaccess를 사용하여 기본 도메인으로 리디렉션하려는 몇 개의 도메인이 있습니다.

RewriteCond %{HTTP_HOST} example.co.za [NC] 
RewriteRule ^(.*)$ http://primarydomain.co.za/$1 [L,R=301] 

내가 예를 들어, 비슷한 .co.za 도메인에 .co와 도메인을 리디렉션 문제에 봉착 :

// this causes infinite loop 
RewriteCond %{HTTP_HOST} example.co [NC] 
RewriteRule ^(.*)$ http://example.co.za/$1 [L,R=301] 

내가 얻을

내가 뭘하는지입니다 왜 이런 일이 벌어 지지만 그 규칙이나 조건을 쓰는 법을 모르겠습니다.

답변

1

사용 패턴 앵커 : ^$이 문자열의 시작이나 (각각) 끝 표시하려면 :

RewriteCond %{HTTP_HOST} ^example\.co$ [NC] 
RewriteRule^http://example.co.za%{REQUEST_URI} [L,R=301] 
+0

감사합니다. 여기에 답장하는 데 늦어서 죄송합니다. 나는이 앵커를 받아 들였다. 앵커가 나에게 설명했기 때문이다. –

1

같이 그것을 시도,

RewriteCond %{HTTP_HOST} ^example.co$ [NC] 
RewriteRule^http://example.co.za/$1 [L,R=301] 
0

당신은 부정적인 조건을 사용할 수 있습니다 및 정규식 피하기 :

# if host is not example.co.za 
RewriteCond %{HTTP_HOST} !=example.co.za 
# then redirect to example.co.za 
RewriteRule^http://example.co.za%{REQUEST_URI} [NE,L,R=301] 
관련 문제