2011-10-19 5 views
1

が必要になります。.htaccessのルートドメインIは、以下のようにドメインを設定したいWWWとサブドメインWWWを必要としない

example.com - > www.example.com

example.com/page - > WWW。 example.com/page

www.example.com - >


をリダイレクトしない - >

www.example.com/pageをリダイレクトしません。

subdomain.example.com - > subdomain.example.com

- >

www.subdomain.example.comをリダイレクトしない - >

subdomain.example.com/pageをリダイレクトしません。 www.subdomain.example.com/page - > subdomain.example.com/page


HTTPとHTTPSでも動作するはずです。

私はそれがすべてのために非常にうまく動作しますが、以下を除いてできる.htaccess to require WWW for domain, but allow subdomain if existing with no hard coding

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

からコードを取得する:

www.subdomain.example.com - > www.subdomain.example.com

www.subdomain.example.com/page - > www.subdomain.example.com/page

サブドメインが必要がありますには「www。」がありません。プレフィックスはまだ 'www'です。接頭辞。

チュートリアルのおかげで

答えて

1

は、これを追加あなたは

RewriteCond %{HTTPS} ^on$ 
RewriteCond %{HTTP_HOST} ^www\.([^.]+\.[^.]+\.[^.]+)$ 
RewriteRule^https://%1%{REQUEST_URI} [L] 

RewriteCond %{HTTPS} !^on$ 
RewriteCond %{HTTP_HOST} ^www\.([^.]+\.[^.]+\.[^.]+)$ 
RewriteRule^http://%1%{REQUEST_URI} [L] 

を持っているルールの後、私はそれをテストしていませんが、私はそれに私の理論の固体かなり確信しています。少なくともあなたの例のHTTPS部分が動作すると仮定します。

+0

今、私は私の.htaccessファイルに次のコードを貼り付け:[^] 'するRewriteCond%{HTTP_HOST}^[^。] + \ + $' 'するRewriteCond%{HTTPS} S ^(複数可)に。 ' 'RewriteRule^http%1://www.% {HTTP_HOST}%{REQUEST_URI} [L、R = 301]' 'RewriteCond%{HTTP_HOST}^www \([^。] + \。 [^。] + \。[^。] +)$ ' ' RewriteCond%{HTTPS} s^on(s)| '' RewriteRule^http%2://%1%{REQUEST_URI} [L、R = 301] ' **サブドメインの部分については、** www.subdomain.domain.com - > subdomain.domain.com(完了)、 ** www.subdomain.domain.com /ページ→ページ/(問題)** –

+0

私の答えが変更されました。私がhtaccessのドキュメントで何かを逃したので、2つの書き換えルールが必要です。 –

+0

これは私の問題を解決してくれてありがとう、ありがとう。 –

関連する問題