2011-05-11 4 views
1

나는 국제 도메인 (.com)과 브라질 도메인 (.com.br)을 모두 구입했습니다. 브라질 도메인의 사람들을 국제 도메인으로 리디렉션해야하므로 thewebsite.com.br/contact가 thewebsite.com/contact로 이동합니다. 또한 브라질 및 국제 도메인 이름에서 www를 모두 삭제하고 싶습니다. 그래서 www.thewebsite.com.br/contact는 내 사용자를 thewebsite.com/contact로 이동시킵니다.mod_rewrite를 사용하여 국가 도메인 이름 제거

나는 WWW를 제거하기위한 드루팔 htaccess로 재 작성 규칙을 사용하고 있습니다 :

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
    RewriteRule^http://%1%{REQUEST_URI} [L,R=301] 

당신은 무엇을 권장합니까? 이 규칙을 적용하여 .br을 제거하거나 다른 규칙을 추가하여 .br을 제거하십시오. 내 URL에서 www와 .br을 제거하기위한 최종 mod_rewrite 조건은 어떻게됩니까?

답변

3

이렇게하면됩니다.

<IfModule mod_rewrite.c> 
# Enable rewrite 
RewriteEngine On 
RewriteBase/
# Rewrite .br to international domain 
RewriteCond %{HTTP_HOST} ^www.domain.com.br [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] 
# Rewrite non www. .br to international domain 
RewriteCond %{HTTP_HOST} ^domain.com.br [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] 
# Rewrite www. to non www. 
RewriteCond %{HTTP_HOST} ^www.domain.com [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] 
</IfModule> 
+1

감사합니다. 유일한 문제는이 코드가 domain.com.br없이 domain.com.br을 검색하지 않기 때문에 domain.com.br을 domain.com으로 리디렉션하지 않는다는 것입니다. .com .br없이 .com.br을 돌볼 세 번째 규칙을 추가 할 수 있습니다. 아니면 나쁜 행동입니까? 이 모든 것을 하나의 규칙으로 해결할 수있는 방법이 있습니까? –

+0

죄송합니다. www가 아닌 ​​.br을 포함하도록 원본을 편집했습니다. 여러 규칙을 사용하여이를 달성하는 것이 좋습니다. – CMck

+0

감사합니다. 성능에 대해 걱정했습니다 ... –