4

かなりの量のドメインエイリアスを持つクライアントがあり、それらすべてをサイトの1つのメインドメインにリダイレクトする必要があります。また、どのドメインエイリアスがリダイレクトを行っているかを知りたいと考えています。私はその部分を減らしましたが、コードを最適な方法で最適化し、作成する必要のあるコードの量を減らしたいと考えています。使用されたドメインエイリアスをRewriteRuleURLに渡す方法があるかどうか知りたいです。

これは私が今持っているものです。ヒットしているドメインエイリアスを探して、そのエイリアスをURLに渡します。次に、グーグルアナリティクスで、そのURLがページをヒットするために何回使用されたかを見ることができます。

RewriteCond %{HTTP_HOST} ^(www\.)?domain-alias1\.com [NC]
RewriteRule ^(.*) http://www.main-domain.com/?domain-alias1\.com$1 [R=301,L}

しかし、私の目標は、すべての単一ドメインエイリアスの条件とルールの両方を記述する必要がないことです。

どのエイリアスがヒットしたかを確認し、書き換えルールで指定した位置に自動的に追加する方法はありますか?

私はもともと、それが機能するかどうかを確認するためにこのようなものを試しました(私は多くの異なる方法を試しましたが):

RewriteCond %{HTTP_HOST} ^(www\.)?([a-z]+)\.com [NC]
RewriteRule ^(.*) http://www.main-domain.com/?$1\.com$2 [R=301,L]
4

1 に答える 1

4

あなたはこれらの線に沿って何かを試すことができます:

RewriteCond %{HTTP_HOST} !^(www\.)?main-domain\.com$ [NC]
RewriteRule ^(.*) http://www.main-domain.com/$1?domain=%{HTTP_HOST} [R=301,L]

これにより、ドメイン以外のリクエストは、クエリ文字列のドメイン名でリダイレクトwww.main-domain.comされます。www.main-domain.comdomain

于 2011-05-05T18:16:39.820 に答える