2011-09-14 11 views
1

私はすべての私のウェブサイトに.htaccessを使用しています。universal .htaccess to write

汎用の.htaccessファイルをwwwに書き直すとします。私は、.htaccessファイルに

を交換する必要がそれぞれすべてのドメインアドレスの

あらゆるトリックを約HTTP_HOST名前はどのよう

+1

私たちはそれを処理することができますので、あなたはすでに持っているものを共有することで始めませんか? – Shef

+2

実際に[Google it](http://www.google.co.uk/search?q=htaccess+rewrite+www)に気をつけましたか? – DaveRandom

+0

@DaveRandom私は解決のためにGoogleに慣れていました。 今私はstackoverflowのは学ぶため、ちょうど通常のコード 'であるだけでなく – Muhammed

答えて

3

でホストされたサーバ名に基づいて変更されている普遍的な取得することがあります:

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

UPD:このルールはローカルで

+0

これはうまくいくと思います! – Olli

+0

www以外のサブドメインを使用しない限り動作します。 –

0

を働いてしまいましたあなたの書き換えルールをhttpd.confに入れておくと、すべてのサイトで動作します。

1

は、使用する方、ごhttpd.confまたはapache.confにこれを追加します。

RewriteEngine On 

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

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

作品をHTTPSとデフォルトホストのためにあまりにも。

+0

'RewriteCond%{HTTP_HOST}!^ $'の条件は何か不思議です。 – zerkms

+0

場合によっては、サーバーがIPアドレスを参照する場合など、 'Host'要求ヘッダーがないことがあります。 – sanmai