2012-11-28 80 views
2

我已經在網上搜索全國各地的重定向非www到www良好的通用的.htaccess腳本,我目前使用這樣的:的.htaccess重定向非www到www

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

這工作正常,但如果我去一個子域www。將被添加。有沒有人有一個很好的工作重定向.htaccess腳本?

+0

這個怎麼樣?服務器故障有類似的問題 http://serverfault.com/questions/190589/how-to-redirect-non-www-to-www-without-hardcoding-using-htaccess – kernelpanic

+0

@kernalpanic不起作用對我來說,它根本沒有重定向 –

回答

1

試試這個:

RewriteCond %{HTTP_HOST} !^www\. 
RewriteCond %{HTTP_HOST} !^([^\.]+)\.([^\.]+)\.([a-z]{2,4})$ 
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L] 
+0

謝謝,它的工作原理。 –

0

@Vince如果請求的URL是一樣的東西是什麼:

http://www.abc.example.com

恕我直言,我覺得你的方法,它永遠不會被重定向到:

http://www.example.com

這個怎麼樣?

# Rewrite domain 
RewriteCond %{HTTP_HOST} !^www\.([a-z1-9\-]+)\.([a-z]+)$ [NC] [and] 
RewriteCond %{HTTP_HOST} ([a-z1-9\-]+)\.([a-z]+)$ [NC] 
RewriteRule ^(.*)$ http://www.%1.%2/$1 [R=301,L] 

另外,你們可能會發現這些有用的參考資料:

https://www.drupal.org/node/93603

http://www.askapache.com/htaccess/modrewrite-tips-tricks.html