2

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

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

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

4

2 回答 2

1

试试这个 :

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} !^([^\.]+)\.([^\.]+)\.([a-z]{2,4})$
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
于 2012-11-28T13:03:57.343 回答
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

于 2014-10-25T03:29:06.237 回答