2011-05-24 8 views
0

私はwww-domain以外のドメインをwwwドメインに書き直す方法を探していますが、同時に直接IPリクエストをリダイレクトしません。www以外のドメインをリダイレクトしますが、IPのリダイレクトしません。

私は、同じサーバー上に複数のサイトを持っています。つまり、デフォルト(仮想)ホストと、ServerNameと複数のServerAliasが完全に動作するVirtualHostです。私は "www"で始まるドメイン名を好む。だから私は素晴らしい作品これは、一緒に次のコードをハッキングしている:

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

これは、HTTPSを処理しませんが、最大の問題は、サーバー-IPへの要求も例えばから書き換えられていることです。 "123.45.67.8"を "www.123.45.67.8"に変更します。

RewriteCond %{HTTP_HOST} !^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ 

...しかし、それは解決するために、下の行を追加することができますか? IPv6についてはどうですか?

mod_rewrite-wizが存在しないので、私は他の人がどのようにこの問題を解決したかを把握しようとしていますが、運がありません。

あなたの状態のみをチェックしているので、それはWWWで始まる場合です

答えて

1

、(私は、オプションのhttpsコードを左)の代わりにこれを試してみてください。

RewriteCond %{HTTP_HOST} ^(yourdomain|thisdomain|thatdomain)\.com 
#RewriteCond %{HTTPS} =on 
#RewriteRule .* https://www.%{SERVER_NAME}%{REQUEST_URI} [R,L] 
RewriteRule .* http://www.%{SERVER_NAME}%{REQUEST_URI} [R,L]