2012-01-13 3 views
1

.htaccess 및 google에 이상한 문제가 있습니다. 나는 메인 도메인에 301 리다이렉션을 가진 다중 다른 루트 도메인을 갖고있다.하지만 괜찮다. 그렇지만 .com/sl, .com/it, .com/en, .net/sl, .net/sl, 그것. 문제는 당신이 google에서 링크를 클릭하면 wwww.old-domain.com/sl 그리고 맞습니다,하지만 당신이 그것을 클릭하면 url은 www.new-domain처럼됩니다. comsl 슬래시가 누락되어 물론 페이지가 작동하지 않습니다..htacces 다국어 리디렉션

그래서 htaccess에 수정 사항이 있습니까? 내 htacces의 리디렉션은 다음과 같습니다

RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.old-domain.com/$ [OR] 
RewriteCond %{HTTP_HOST} ^old-domain.net/$ [OR] 
RewriteCond %{HTTP_HOST} ^www.old-domain.net$ 
RewriteRule ^(.*)$ "http\:\/\/www\.new-domain\.com$1" [R=301,L] 

그래서 나는 모든

감사를 www.new-domain.com/sl이 www.old-domain.comsl를 해결해야합니다.

답변

2

당신은 당신의 RewriteCond에 후행 /을 필요가 없습니다. 게다가, 당신은 틀린 곳에서 도피하고 있습니다 (당신은 반대 위치에서 그것을해야합니다).

다음 내용으로 청소하고 문제가 해결되는지 확인하십시오.

RewriteCond %{HTTP_HOST} ^old-domain\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.old-domain\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^old-domain\.net$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.old-domain\.net$ 
RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L] 
+0

무엇을 시도 할 수 있습니까? 다른'RewriteRules'을 가지고 있습니까? 나중에 다시 작성하기 위해 다른 작업을하지 않는다면 * 작동해야합니다. –

+0

내가 작동하지 않는 URL을 의미합니다. 제안한대로 htacces를 정리하면 거의 다 왔어요. old-domain.com/sl은 www.new-domain.com/sl로 리다이렉트하지만 www.old-domain으로 리다이렉트합니다. .com/sl은 www.new-domain.comsl로 리디렉션됩니다. 그래서 왜 잘못 된 건지 모르겠지만 ... hmm –

+0

확실하지 않습니다. 죄송합니다. 내 코드를 정확히 복사 한 경우. 그것은 작동합니다. 나는 그것을 시험했다. 문제를 일으키는 다른 규칙이나 코드가 있습니다. –

3

슬래시를 잊어 버린 것 같습니다. 시도해보십시오.

RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.old-domain.com/$ [OR] 
RewriteCond %{HTTP_HOST} ^old-domain.net/$ [OR] 
RewriteCond %{HTTP_HOST} ^www.old-domain.net$ 
RewriteRule ^(.*)$ "http\:\/\/www\.new-domain\.com\/$1" [R=301,L] 
+1

+1 거의 다 환영합니다. –