Htaccess将非www重定向到www

时间:2012-11-28 08:31:07

标签: .htaccess redirect subdomain

我已经在网上搜索了一个很好的通用.htaccess脚本,用于将非www重定向到www,目前我正在使用它:

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

这很好,但如果我去一个子域名www。将被添加。有没有人有一个很好的工作重定向.htaccess脚本?

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:0)

@Vince如果请求的网址如下所示:

  

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