/ / htaccessを使用してループエラー? -正規表現、Apache、.htaccess、mod-rewrite、リダイレクト

htaccessを使用したループエラー? - regex、apache、.htaccess、mod-rewrite、redirect

.netおよび.orgドメインを.comにリダイレクトできるようにhtaccessを更新していますが、「ドメインにループエラーがあります」というメッセージが表示されます。

問題はwww以外からwwwへのリダイレクトに関係していると確信していますが、すべてのコードをどのように組み合わせるかはわかりません。何か案は?

私の目標は次のとおりです。(1)非wwwをwwwにリダイレクトし(既にセットアップされており、正常に動作します)、(2).netおよび.orgドメインを.comにリダイレクトします

HTACCESS:

##### RewriteEngine enabled - BEGIN
RewriteEngine On

##### RewriteBase set - BEGIN
RewriteBase /

##### Redirect non-www to www - BEGIN
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

##Redirect .net and .org to .com - BEGIN
RewriteCond %{HTTP_HOST} ^(www.)?example.org [OR,NC]
RewriteCond %{HTTP_HOST} ^(www.)?example.net [OR,NC]
RewriteCond %{HTTP_HOST} ^www.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]

注:.netと.orgの両方のドメインはすでに同じIPを指しているため、ここでは問題はありません。

回答:

回答№1は1

これらすべてを単一のルールで実行できます。

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www. [NC,OR]
RewriteCond %{HTTP_HOST} .(org|net)$ [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]