17

私は新しいドメインにリダイレクトする必要がある約18のドメインを持っています。 wwwを前に付けてもしなくても動作しなければならない。複数のドメインを1つのドメインにリダイレクト

私はこれを試してみた:(?とだけ前に、私は考えてWWWで動作します)

私にリダイレクトループを与える
<IfModule mod_rewrite.c> 
    RewriteEngine on 
    Rewritecond %{HTTP_HOST} !^www\.domain\.com 
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] 
</IfModule> 

^domain.com

+0

各ドメインの終わりの '[OR]'はあなたの答えになかったので、それが私の問題を解決しました。 – qwerty

答えて

30
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^domain1.com [OR] 
RewriteCond %{HTTP_HOST} ^domain2.com [OR] 
RewriteCond %{HTTP_HOST} ^domain3.com [OR] 
RewriteCond %{HTTP_HOST} ^domain4.com [OR] 
RewriteCond %{HTTP_HOST} ^domain5.com 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=permanent,L] 

これはあなたの新しいシングルドメインwww.newdomain.comに は、そうでなければ、あなたがリダイレクトするために、次のコードを使用することができ、あなたにすべての18個のドメインにリダイレクトされますを引き起こす

それぞれのドメインが別々のホストにある場合

RewriteCond %{HTTP_HOST} ^domain.com 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=permanent,L] 
+0

ありがとう、私はこれを試してみましょう。 – qwerty

+0

うん、[OR]は私が持っていた問題を解決した。ありがとう! – qwerty

+0

あなたはようこそ... –

-1
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^domain.com 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=permanent,L] 

ので、すべてのサブドメインは現在リダイレクトする、WWWの問題を解決します。

http://www.newdomain.comRewriteCondに含まれていないことを確認してください。リダイレクトループ

More info

+0

手動で各ドメインを「リライトコンドーム」として追加するのではなく、「* not * newdomain.com」と一致させることは可能ですか?これは、新しいドメインを指す約18のドメインがあり、顧客がより早く追加を検討している(そして、毎回.htaccessを掘り起こす必要がないようにするために)、私にとっては大変面倒です。 – qwerty

+0

わからない、あなたは研究しなければならない。しかし、実際にはそれほど多くはありません... – surfer190

+0

'RewriteCond%{REQUEST_URI}!^ newdomain.com'私はこれがうまくいくと思います – surfer190

17

リダイレクトの代わりにそれは、より詳細に説明されてhttp://www.raramuridesign.com/blog/83-dev-htaccess-redirect-a-domain-or-multiple-domains.html

はこのためではないnewdomain.com

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !newdomain.com$ [NC] 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301] 

http://www.newdomain.comの功績は、に行くあるすべてのものをリダイレクト:あなたがこれを行うことができますnewdomain.comへ、b.comc.com

クライアントプロジェクトで試してみましたが、それは魅力的です。

+0

' 'RewriteCond'アドレスを' www.newdomain.com'に補完すると、サブドメインをwwwにリダイレクトします。私は正しい? – robotik

+0

URLに何かが追加されている場合を除いて、これは素晴らしいです(例:example.com/members)。入力したURLの後半部分を自動的に含めるように拡張することはできますか? – melat0nin

4

SOや他のホストの指示をうかがい、数日後に私の経験は残念でした。しかし、私はそれらのすべての最高workful部分を桜拾い、以下の収率:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^domain1\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.domain2\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^domain2\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.domain3\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^domain3\.com$ 
RewriteRule ^/?$ "http\:\/\/www\.domain\.com\/" [R=301,L] 
  • 上記の形式でもGUIで行うリダイレクトのcPanelのスタイルに合わせています。
  • wwwのリダイレクト。バージョンと非www。ドメインのバージョンは他の解決策の1つです(少なくとも私は試しました!)は解決できませんでした。 RewriteRule

^/?$から

  • ご注意あなたがそれの非WWW版にメインドメインのWWWバージョンをリダイレクトしたい場合は、最後の2行は次のようにする必要があります:

    RewriteCond %{HTTP_HOST} ^www\.domain\.com$ 
    RewriteRule ^/?$ "http\:\/\/domain\.com\/" [R=301,L] 
    

    いいえリダイレクト!

  • 関連する問題