2011-02-05 13 views
4

私は強制的に "www。" (http://domain.comhttp://www.domain.comになります)。しかし、既にサブドメインを持つURLに強制したくはありません(例えばhttp://images.domain.comhttp://www.images.domain.comにならないはずです)。強制 "www。" .htaccess経由で

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

私にはこれが機能するには何が必要なのですか?ありがとう。

答えて

5

簡易 以下の規則は、サブドメインを除いてwwwを強制します。

RewriteCond %{HTTP_HOST} =name.domain [NC] 
RewriteRule ^(.*)$ http://www.name.domain/$1 [R=301,L] 

編集して貼り付け、Apacheを再起動します。

は説明:誰かの種類は名。ドメインのみ

RewriteCond %{HTTP_HOST} =name.domain [NC]マッチ(ドメイン名)。

型subdomain.name.domainの場合、RewriteCondはfalseであり、リダイレクトされません。分かるでしょう? あなたが以前に投稿したルールでは、!(not)^(始めに)wwwとsubdomain.name.domainが満たされたRewriteCondがあなたの望むものです。 :)

+0

あなたは「名前」と「ドメイン」が何であるか説明できますか?これらの変数は.htaccessに知られていますか?あるいは私はそれらを私の実際の価値に置き換えることになっています。私は、(何も設定することなく)どんなサイトにでも置くことができるソリューションを期待しています。 – StackOverflowNewbie

+0

私は答えを –

+1

で更新しましたが、ドメイン名をハードコーディングしないで方法がありますか? – Tom

関連する問題