2011-09-14 34 views
1

我爲我的所有網站使用.htaccess。通用.htaccess寫

我想製作一個通用的.htaccess文件重新寫入www。

每個我不得不更換.htaccess文件

每一個域名地址有沒有過關獲得通用這是基於變化對託管服務器名稱與HTTP_HOST

+1

爲什麼不從分享你已有的東西開始,所以我們可以在這方面努力? – Shef

+2

你真的打擾了[谷歌](http://www.google.co.uk/search?q=htaccess+rewrite+www)嗎? – DaveRandom

+0

@DaveRandom我用谷歌解決方案。 現在我認識到計算器是最好的地方學習和教授以及 – 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.confapache.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] 

Works爲HTTPS和默認主機了。

+0

只是好奇什麼是'RewriteCond%{HTTP_HOST}!^ $'條件? – zerkms

+0

有時候不能有'Host'請求頭,例如當一個人通過IP地址引用你的服務器時。 – sanmai