2012-02-01 7 views
1

同じファイルでも異なるテンプレートで実行しているサイトがいくつかありますが、私の目標はすべてのwwwまたはwww以外のドメインを強制的に使用することです。URLをwww以外の複数のサイトに書き直します

これは私のコードです:これは

http://domain.de/www/htdocs/user/_production/http%28?s%29://www.

をリダイレクト取得されていない場合、

RewriteCond %{HTTPS} (on)? 
RewriteCond %{HTTP:Host} ^(?!www\.)(.+)$ [NC] 
RewriteCond %{REQUEST_URI} (.+) 
RewriteCond %{HTTP:Host} ^[^.]+\.[a-z]{2,5}$ [NC] 
RewriteRule .? http(?%1s)://www.%2%3 [R=301,L] 

はstackoverflowの上の他の質問:)

からそれを得るしかし、私はWWWのドメインを使用する場合は、すべてokです

答えて

1

あなたのルールを次のように簡略化してみましょう。

Options +FollowSymLinks -MultiViews 
RewriteEngine on 

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

RewriteCond %{HTTPS} =on 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

サーバーのエラーを取得します。ブロック内の問題が何であるかを明確にしません。RewriteCond%{HTTPS}!= on RewriteCond%{HTTP_HOST}!^ www \。 [NC] するRewriteRule^HTTP://www.% {HTTP_HOST}%{REQUEST_URI} [R = 301、L] するRewriteCond%{HTTPS} = にするRewriteCond%{HTTP_HOST} ^のWWW \。 [NC] RewriteRule^https://www.% {HTTP_HOST}%{REQUEST_URI} [R = 301、L] –

+0

実際、私の悪いことに、 '%{REQUEST_URI} 'の前に空白がありました。私はそれを編集し、plsはもう一度それを試します。 – anubhava

+0

偉大な、ありがとう、私はリダイレクトするいくつかのサブドメインを除外することができますか? admin.domain.comのように –

関連する問題