1

申し訳ありませんが、私はタイトルを正しく語る方法がわかりませんでした。.htaccessは、あるドメインが他のドメインのサブセットである場合にリダイレクトします。

.htaccessを使用して301のプライマリドメインにリダイレクトしたいいくつかのドメインがあります。私は同様の.co.zaドメイン、例えばに.COドメインをリダイレクトする問題を抱えている

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

を::

// 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

ありがとう。ここに返信するのが遅れて申し訳ありません。私はアンカーを私に説明したので、私はこのanwerを受け入れた.. –

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]