2016-03-20 9 views
0

このスレッド(.htaccess redirect all pages to new domain)は非常に参考になりましたか?しかし、私の要求は、この元の要求とは少し異なります。htaccess Mod_メインドメインからサブドメインへの書き換え

上記のスレッドでは、古いドメインから新しいドメインへのリダイレクトについて話していますが、メインドメインのみをサブドメインに転送するように要求しました。

ここに質問です。メインドメインからサブドメインにすべてのリクエストを自動的に転送するにはどうすればよいですか。例えば ​​-

ランディングURL:http://example.com 転送URL:http://sub.example.com

ランディングURL:http://example.com?var=foo 転送URL:http://sub.example.com?var=foo

誰かが私の転送URLに着地した場合、私は彼らが再びリダイレクトされたくありません簡単に言えば、着陸URLが同じ場合は、いつでもすべてのリクエストをhttp://sub.example.comにリダイレクトするルールを使用したくありません。

上記のリンクのアドバイスに従えば、メインドメインからサブドメインに転送したいと思うように私のケースでは起こると思います。

これまで私がこれまで持っていて、部分的な仕事をしています。私の1つのドメインを別のサブドメインに転送するだけです。ただし、URLパラメータがある場合は機能しません。同じ古いURLのままです。簡単な言葉で

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example\.com$ [NC] 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^$ http://sub.example.com/? [R=301,NE,NC,L] 

- そこhttp://example.com?var=fooがあり、それがあるとして、それが残っているときに私のコードは反応しません。

どのような指針も素晴らしいでしょう。

答えて

2

条件を削除して正規表現を変更する必要があります。

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC] 
RewriteRule ^(.*)/?$ http://sub.example.com/$1 [R=301,NE,NC,L] 

ブラウザのキャッシュをクリアしてから、試してみてください。どのように動作するか教えてください。

+1

偉大な答え!それは魔法のように働く。 ありがとうございました! – pinaldave

+0

私はお手伝いできることをうれしく思います。 –

関連する問題