設定
私は次の。htaccessルールを持っています
RewriteCond %{HTTP_Host} !^www\.
RewriteCond %{HTTP_Host} !^de\.
RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [R=301,L]
これは、無効なサブドメイン(www
またはde
)をwww
サブドメインにリダイレクトするのに役立ちます。
私は解決策を見てきましたが、それらは単一のドメインサイトにのみ依存しています。
複数のドメインがあります:
http://www.example.com
http://www.example.net
http://de.example.com
すべて独自のサイトブランドを提供しています。
これで、上記の。htaccessルールがあり、誰かがhttp://example.com
を入力するとhttp://www.example.com
にリダイレクトされます。 。
問題
誰かがhttp://test.example.com
と入力すると、http://www.test.example.com
にリダイレクトされ、誰かがhttp://test.example.net
と入力すると、http://www.test.example.net
にリダイレクトされます。
質問
http://test.example.com
をhttp://www.example.com
にリダイレクトするようにするにはどうすればよいですか? http://test.example.net
からhttp://www.example.net
へ。
将来、さらにドメインが追加されるため、ドメインに依存しないソリューションが必要です。
サブドメインをパラメーターとして使用してリダイレクトするには:
# HTTP 301 Redirect test.*.net -> www.*.net
RewriteCond %{HTTP_Host} ^test.([^.]+).net$ [NC]
RewriteRule (.*) http://www.%1.net/$1 [R=301,L)
# HTTP 301 Redirect test.*.com -> www.*.com
RewriteCond %{HTTP_Host} ^test.([^.]+).com$ [NC]
RewriteRule (.*) http://www.%1.com/$1 [R=301,L)
http://example.com
サブドメイン(www.
)を使用して、サブドメイン(たとえばhttp://www.example.com
)がないときにメインWebサイトにリダイレクトする場合:
# HTTP 301 Redirect *.net -> www.*.net
RewriteCond %{HTTP_Host} ^([^.]+).net$ [NC]
RewriteRule (.*) http://www.%1.net/$1 [R=301,L)
# HTTP 301 Redirect *.net -> www.*.net
RewriteCond %{HTTP_Host} ^([^.]+).com$ [NC]
RewriteRule (.*) http://www.%1.com/$1 [R=301,L)
.htaccess
ファイルで多くのことを達成しようとしている場合、 htaccess Made-With-Love Webサイトで条件とURL書き換えに与える影響をテストすると役立つ場合があります。
これがあなたが苦労している場所である場合、.htaccess
では、最後に一致したRewriteCond
式からのパーセント記号(たとえば、%1
)のプレフィックスが付いたパラメーター、通常は角括弧()
で囲まれ、RewriteRule
式の参照値(通常は$1
)の参照値、通常は自動的に割り当てられる値によって、対象としてマークされていますApacheおよびURLに関連します。