2012-01-13 8 views
1

.htaccessとgoogleに奇妙な問題があります。私はメインドメインに301のリダイレクトを持つ複数の異なるルートドメインを持っていますが、それは大丈夫ですが、私もそういう言語を持っています.com/sl、.com/it、.com/en、.net/sl、.net /それは問題です。あなたがGoogleからのリンクをクリックするとwwww.old-domain.com/slですが、そうですが、クリックするとURLはこのようになります.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ありがとうございます。 –